DAO层的小规范

243 阅读2分钟

1、数据库层面 1、create_time和update_time字段的默认值设为:CURRENT_TIMESTAMP 2、update_time字段 要勾选 根据当前时间戳更新 3、is_deleted字段 设置默认值 0

image.png 2、代码实现层面 1、实体类继承一个统一的基类 eg:BaseEntity.java

image.png a.@TableField注解: 用于标识数据库字段,但如果数据库字段名称以下划线的规范命名,并且在项 目中引入Mybatis-Plus作为持久层框架,则只需要在项目的配置文件中,开启小驼峰映射转换,项目便 可自行做处理。

image.png tips:1、直接填写是默认给value属性赋值;2、updateTime字段的update属性在后面补充说 明 b.@TableId注解:用于标识实体类的主键id字段,type属性可以设置主键的增长策略。 c.@TableLogic注解:用于标识逻辑删除的字段 3、补充说明 1、给create_time和update_time添加默认值 CURRENT_TIMESTAMP ,以及is_deleted的默认值 0,是 为了方便当我们在执行insert语句时,能自动填入当前时间作为create_time和update_time的字段值, 以及is_deleted=0. 2、引入Mybatis-Plus后,并且添加了@TableLogic的注解后,当项目执行框架封装好的方法(例如 selectById)时,会默认搜索is_deleted=0的数据。 3、与create_time不同,update_time需要勾选 根据当前时间戳更新,并且指定 update=“now()” (此 处我测试的时候不加是没有效果,你们可以试试不加的情况),是因为执行update操作时,需要同步更 新update_time的值,经过上述处理,就不需要手动设置。 4、添加注解@TableLogic后,执行delete操作时,实际执行的sql语句是update,只是将is_deleted的值 改为1