后端开发规范(持续更新中...)
java
- 对于持久层的实体,使用包装类型,不使用基本类型,也不要设置默认值。
答:有些ORM框架中使用实体去更新字段,会将默认值更新到数据库中。然而数据库中是有有效值的。 - 设计中类尽量采用单一职责原则,比如一个接口不应该用于多个功能,情愿多写一些接口,也不要共用。持久层也是一样的,更新就做单独的更操作,语义明确,简单明了。
- 尽量使用spring中自带的工具类,这样统一维护和升级比较方便。
- 代码中应该禁止使用魔数,使用枚举和常量池类来统一管理数字和字符串。
数据库
- 数据库中字段类型设计尽量使用满足的字段,不要使用过大的类型。
答:大类型对于到实体代码中的类型可能有冲突,而且浪费mysql空间和性能,没有必要。 - 数据表中凡是设计到上下级的这种结构的,在表中务必加上表唯一单建的路径的字段 (例如:主键为id,加要给id_path字段,所有上级的id逗号隔开存进去) ,并为其建立索引。
答:这样的好处是方便查询下级所有数据,用 id_path 右like 就可以进行查询。例如:
id | parent_id | name | id_path |
---|---|---|---|
1 | 0 | 四川省 | 1 |
2 | 1 | 成都市 | 1,2 |
3 | 2 | 高新区 | 1,2,3 |
*** | *** | *** | *** |
46 | 23 | 顺庆区 | 1,23,46 |
这样查询成都市的数据就直接 where id_path like ‘1,2,%’,最后加上逗号是为了避免把顺庆区的查出来。有些场景还可以使用find_in_set。
后端开发规范(持续更新中...)相关推荐
- Android开发学习持续更新中
Android开发 单个Activity界面内的操作 控件1TextView控件使用 控件2Button控件使用 1首先对于android的按键格式 2对按键监听事件进行绑定 控件3EditText文 ...
- Go语言开发学习笔记(持续更新中)
Go语言开发学习笔记(持续更新中) 仅供自我学习 更好的文档请选择下方 https://studygolang.com/pkgdoc https://www.topgoer.com/go%E5%9F% ...
- 【Vue全家桶+SSR+Koa2全栈开发】项目搭建过程 整合 学习目录(持续更新中)
写在开头 大家好,这里是lionLoveVue,基础知识决定了编程思维,学如逆水行舟,不进则退.金三银四,为了面试也还在慢慢积累知识,Github上面可以直接查看所有前端知识点梳理,github传送门 ...
- 【STM32-V6】STM32F429BIT6开发板开源, 丰富软件资源, 强劲硬件配置, 配套600多实例,21套手册持续更新中
淘宝购买链接 从2016年1月份发布至今,软件资料更新过108次.当前标准库最新版本V2.8,HAL库最新版本V7.6 安富莱微信公共平台,欢迎大家关注(打造高质量公众号) HAL库版V7.6 STM ...
- 基于oAuth2.0开发属于自己的SSO授权服务 - 授权码(Authourization Code)模式 (持续更新中。。。)
此文章篇幅较长,平日上班较少时间写作,请见谅.持续更新中... oAuth2.0系列文章目录 #mermaid-svg-AZMPq56OmFj1I7k0 {font-family:"treb ...
- 【STM32-V7】STM32H743XIH6开发板,丰富软件资源,强劲硬件配置,大量软件解决方案持续更新中(2020-07-22)
[STM32-V7]STM32H743XIH6开发板,丰富软件资源,强劲硬件配置,大量软件解决方案持续更新中(2020-07-22) 参考文章: (1)[STM32-V7]STM32H743XIH6开 ...
- 火龙果(redpitaya)开发板常用接口C语言开发指南(九)——产生信号脉冲(持续更新中)
火龙果(redpitaya)开发板常用接口C语言开发指南(九)--产生信号脉冲(持续更新中) --本人为<火龙果实战指南--搭建基于Zynq处理器的测量仪器与创新实践平台>一书的作者之一, ...
- Android开发人员不得不收集的代码(持续更新中)(http://www.jianshu.com/p/72494773aace,原链接)
Android开发人员不得不收集的代码(持续更新中) Blankj 关注 2016.07.31 04:22* 字数 370 阅读 102644评论 479喜欢 3033赞赏 14 utilcode D ...
- VSTO开发入门教程[持续更新中......]
Paragraph 01 VSTO课程学习路线图[持续更新中......] 第一阶段:熟悉 visual studio 编程环境 1.1--理解 VSTO 的概念 1.2--安装 visual stu ...
最新文章
- 【综述专栏】自动驾驶中可解释AI的综述和未来研究方向
- 用单链表实现栈及操作
- C++(二)——命名空间(上)
- 疫情退票引爆的潘多拉盒子,境外旅游商家濒临倒闭
- String类型的学习
- 用VIPER构建iOS应用
- RK3288_Android7.1调试以太网ethernet
- 《云周刊》69期:开门红利!阿里云2月活动来袭
- 信息系统项目管理重点:供应链管理(SCM)
- 汉字字符集编码查询 unicode编码查询
- 网络编程(含 UrlConnection 发送 HTTP 请求下载文件)
- 搞懂JDBC这一篇就够了!!!
- 怎么确定K均值聚类中的K(基于matlab)
- Gradle配置阿里云仓库
- pr不支持mov怎么办_Premiere不支持MOV怎么办?怎么快速解决?
- Android的数据存储之一------SharedPreferences
- 计组(day4) 汇编语言 第一次使用EMU8086 总结
- 简单的爬虫程序(详解)
- 无锡:严禁强制学生家长使用“校讯通”类服务
- 新书推荐——Windows Server 2019 网络服务器配置与管理