数据库

关系型数据库:表格型的存储,支持sql语言,设计大体上遵循数据库三范式。

字符串格式:

  • utf-8:是mysql内置的utf-8和我们普通意义上的不一样。
  • utf-8 mb4:才是普遍意义上的utf-8。

注意类的原子性(不可再拆分)
user_info需要继续拆分成user_id、user_name

任何一张表都要有主键,单独的主键不参与业务。主键两种命名方式:

  1. id
  2. 表名_id

id用什么数据类型:

  • 通常都是int。(数据库执行高效、操作高效)
  • 数据量超级大的不能用int,同字符串,生成唯一字符串。

数据库删除的问题:

  1. 逻辑删除和物理删除:isdel语句
  2. 敏感数据做回收站:单独建表来存删掉的数据

详情图:text类型,用“,”分隔。
float和double在大量的计算中会丢失精度。

商品sku:商品组合,颜色(类型等),把好几个商品合在一个页面中显示。

数据库冗余:
数据库很怕执行count语句,尤其是数据量大的情况。另外,数据库关联不如单表查询快。为此允许一定冗余。

接口规约

api接口规约

  • 接口名+描述
  • url
  • 请求类型 请求参数
  • 如果post请求标注好数据格式
  • 相应结果示例
    (商品列表)接口地址:
    /shop-server/istProduct type:get

request:

参数名 参数值 类型 默认值
pageNum 页码 Integer 10
pageSize 每页数量 Integer 10

reponse:

{"code":0,"msg":"成功","data": [{"name":"华为麦芒七","subtitle":"好用的手机"}]
}

MVC

  • controller:控制器,前后台的桥梁
  • view:页面:前端项目
  • model:数据模型,实体类(与数据库对应)
  • DAO:data access object,需要与数据库保持一致 service
  • dto:数据传输对象
  • vo:view的数据传输结构
命名风格:
  • controller
  • sercive - impl
  • mapper
  • entity
  • util

另一种命名方式:(在项目不够大的时候往往会产生很多空包,命名有些冗余)

  • controller-模块名
  • service-模块名
  • domin

select *

`select * from pmt_product limit 0,10`

注意不要写*
原因:select语句中,如果写 * 的话,在执行该语句的时候会扫描两边。
解决办法:

<select id="listProduct" resultMap="product">select <include refid="All_Column"/> from pmt_product order by id desc</select><sql id="All_Column">id,category_id,name,subtitle,main_image,sub_images,price,stock,status,create_time,update_time</sql>

2021-06-28(下午)笔记5相关推荐

  1. 项目实训2021.06.28

    项目实训题目是关键词泛化,被分到第三小组服务展现,要求分别实现两个接口. 接口一:输入语料.输出关键词. 接口二:输入关键词.输出同义词. 要求用Flask框架实现.第一天先了解了关键词泛化的含义,简 ...

  2. Tableau CA考试火山数据专题解析(2021.06.28考试真题)

    1.使用volcano Eruptions.xlsx数据,请创建一个直方图,并使用250米的数据对高度进行分割,有多少个高度范围只有一次喷发? 解题思路: Step1 先找到提到的变量:高度.火山爆发 ...

  3. 前端面经笔记 2021.8.28

    前端面经笔记 2021.8.28 下面哪些执行结果为true() A.'foo' == new function(){ return String('foo'); }; B.'foo' == new ...

  4. 【离散数学】 SEU - 28 - 2021/06/11 - Lattice and Boolean Algebra

    Discrete Mathematical Structures (6th Edition) 2021/06/09 - Lattice and Boolean Algebra Lattice and ...

  5. Mculover666的博客文章导航(嵌入式宝藏站)(2021.06.17更新)

    一.MCU系列 1. 开发环境 [Keil MDK](一)Keil MDK 5.28 的下载.安装.破解 [Keil MDK](二)Keil MDK中芯片器件包的安装 [Keil MDK](三)Kei ...

  6. 【b站求职笔记】行路院-王贺 2021年2月笔记

    〇.前情提要 b站up主 行路院-王贺 分享的内容,做一个记录,但不一定保证每条对每个人适用. 参考: b站首页 行路院-王贺 https://space.bilibili.com/338160758 ...

  7. 2021.06.02税收和补贴问题

    2021.06.02税收和补贴问题 (题目来源:洛谷-P1023) 题目描述 每样商品的价格越低,其销量就会相应增大.现已知某种商品的成本及其在若干价位上的销量(产品不会低于成本销售),并假设相邻价位 ...

  8. Sysinternals Suite 2012.06.28软件简介

    Sysinternals Suite 2012.06.28软件简介 Sysinternals Suite是微软发布的一套非常强大的免费工具程序集.Sysinternals Suite一共包括将近70个 ...

  9. Vue 第一天学习 ---2018.06.28

    Vue  第一天学习 ---2018.06.28 1.引包 2.学会控制元素.显示数据,基本框架建立 <title>Document</title> <script sr ...

  10. 2021.09.27 MySQL笔记

    2021.09.27 MySQL笔记 文章目录 2021.09.27 MySQL笔记 一.展示当前存在的所有数据库 二.使用(选中)一个数据库 三.创建一个数据表 四.查询并展示该数据库内的所有数据表 ...

最新文章

  1. oracle 收回 user,oracle 10.2.0.3对USER收回CONNECT及RESOURCE
  2. Oracle数据文件、用户、schema、实例
  3. win7虚拟磁盘服务器,Win7系统如何删除虚拟磁盘 win7系统删除虚拟磁盘的方法
  4. 向工作表中添加列表框或组合框
  5. VS2008 连接 SAP 4.6C RFC 经验分享(折腾了两天)
  6. mac 上mysql怎么卸载不了_mac的mysql怎么卸载?
  7. java 插入mysql 日期_Java日期-插入数据库
  8. oracle数据库用脚本运行SQL语句
  9. 矩阵分析理论在实际工程中的应用_【顶管技术在市政给排水工程中的应用分析】...
  10. Sql Server 2005 PIVOT的行列转换应用实例
  11. 2009年1月答疑帖
  12. php4.3.x 5.2.x,XDEBUG for PHP 5.3.0
  13. 《二》Android 数据库 SQlite SQLiteOpenHelper
  14. Logstash5.X 日志搜集处理框架 安装配置
  15. windows10卸载程序_如何在Windows 10中卸载或修复程序
  16. C语言实现文件的加密解密
  17. 视频教程-Prometheus+Grafana企业级监控实战(运维篇)2020年视频教程-Linux
  18. selenium+python设置爬虫代理IP
  19. Postgresql 12.2 + PostGIS 3.0.1 安装部署手册
  20. 消除Mac Word文档生成目录中的灰色底纹

热门文章

  1. 市场调研报告-全球与中国过程文档软件市场现状及未来发展趋势
  2. win10怎么安装android+sdk,win10系统安装Android sdK的具体步骤
  3. python扫描文件代码
  4. 终于搞定了kali linux的网卡驱动问题
  5. c# 用户帐户临时文件夹_注册帐户,上传文件以供批准,以及查看和下载批准的文件
  6. sql多表联查练习题
  7. 攻防世界-Misc-功夫再高也怕菜刀-菜狗决定用菜刀和菜鸡决一死战(思路清晰,好操作,详细)
  8. 抖音技术开放日报名中:日活1.5亿背后技术全解
  9. htcu11android p,#原创新人#HTC U11+与一加5的使用对比
  10. android 7 语音助手,等来万众期待的语音助手,一加7 Pro迎来最新版氢OS更新