基于阿里開(kāi)發(fā)規(guī)范
命名
命名帶單位
數(shù)組用s 集合用list/set
crontroller和菜單對(duì)應(yīng)
如何寫(xiě)好一個(gè)api
路徑映射
只用post
@api注解 dto vo 除了通用模板 不要使用繼承 即使重復(fù)拷貝也可以 使用靜態(tài)內(nèi)部類(lèi) @apimodel名字使用 外部類(lèi)名-內(nèi)部類(lèi)名
定義Basedto通用傳參,JsonResponse通用返回
@validate @valid注解驗(yàn)證
@log注解日志
@tableAlias注解,指定表的別名,用于前端通用排序。
分頁(yè)和排序交由前端指定 后端使用pagehelper.startpage處理 所有表需要提前定義別名 如果是自連接 主表必須使用別名xx 從表使用xx1 xx2等
一對(duì)多分頁(yè)的通用做法 查詢(xún)一表然后在resultmap中指定select查詢(xún)多表
代碼中循環(huán)查詢(xún)也可以接受 優(yōu)先推薦第一種
傳參規(guī)范
禁止使用012? 用枚舉字符串代替
使用標(biāo)準(zhǔn)basedto和JsonResponse結(jié)構(gòu)
日期傳參用 2023-03-06 12:03:56標(biāo)準(zhǔn)格式,如果沒(méi)有時(shí)間 手動(dòng)添加,比如選擇日期 但傳參時(shí)應(yīng)為日期+時(shí)間
日期范圍最后添加23:59:59
前端規(guī)范
表格需要處理排序和分頁(yè)
服務(wù)規(guī)范
文件服務(wù) 添加存儲(chǔ)路徑 斷點(diǎn)續(xù)傳 md5判定等功能
日志服務(wù) 添加文件日志功能
mybatisgenerator改進(jìn),增加別名,增加selectone,增加batchinsert
驗(yàn)證pagehelper排序是否覆蓋sql原有排序
mybatis攔截器處理delstatus 兼容delflag 根據(jù)反射判斷字段名稱(chēng)進(jìn)行處理
數(shù)據(jù)庫(kù)規(guī)范
相同模塊的表使用相同的前綴,例如:dms_xxx
索引命名統(tǒng)一使用?
? ? * idx_索引列1_索引列2的命名方式
? ? * uni_索引列1_索引列2的命名方式
所有表必須有別名
定義表結(jié)構(gòu)并定義別名
id, created_at,created_by,updated_at,updated_by,del_status
數(shù)據(jù)庫(kù)盡可能使用datetime類(lèi)型 不要使用long類(lèi)型 除非不滿(mǎn)足