基于阿里开发规范
命名
命名带单位
数组用s 集合用list/set
crontroller和菜单对应
如何写好一个api
路径映射
只用post
@api注解 dto vo 除了通用模板 不要使用继承 即使重复拷贝也可以 使用静态内部类 @apimodel名字使用 外部类名-内部类名
定义Basedto通用传参,JsonResponse通用返回
@validate @valid注解验证
@log注解日志
@tableAlias注解,指定表的别名,用于前端通用排序。
分页和排序交由前端指定 后端使用pagehelper.startpage处理 所有表需要提前定义别名 如果是自连接 主表必须使用别名xx 从表使用xx1 xx2等
一对多分页的通用做法 查询一表然后在resultmap中指定select查询多表
代码中循环查询也可以接受 优先推荐第一种
传参规范
禁止使用012 用枚举字符串代替
使用标准basedto和JsonResponse结构
日期传参用 2023-03-06 12:03:56标准格式,如果没有时间 手动添加,比如选择日期 但传参时应为日期+时间
日期范围最后添加23:59:59
前端规范
表格需要处理排序和分页
服务规范
文件服务 添加存储路径 断点续传 md5判定等功能
日志服务 添加文件日志功能
mybatisgenerator改进,增加别名,增加selectone,增加batchinsert
验证pagehelper排序是否覆盖sql原有排序
mybatis拦截器处理delstatus 兼容delflag 根据反射判断字段名称进行处理
数据库规范
相同模块的表使用相同的前缀,例如:dms_xxx
索引命名统一使用
* idx_索引列1_索引列2的命名方式
* uni_索引列1_索引列2的命名方式
所有表必须有别名
定义表结构并定义别名
id, created_at,created_by,updated_at,updated_by,del_status
数据库尽可能使用datetime类型 不要使用long类型 除非不满足