mybatis-plus
代码生成器
下载插件 MyBatisX
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BASlV9dR-1670162337230)(https://gitee.com/ajiemo/gic/raw/blogs/20221204205642.png)]
引入依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.2</version>
</dependency>
配置文件
# mybatis-plus
mybatis-plus:
type-aliases-package: com.ajie.smart.bean # 配置包别名
mapper-locations: classpath*:mapper/*.xml
configuration:
map-underscore-to-camel-case: true # true自动开启驼峰规则映射
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # mybatis-plus 日志
global-config:
db-config:
logic-delete-field: isDelete # 全局逻辑删除的实体字段名
logic-delete-value: true # 逻辑已删除值(默认为 1)
logic-not-delete-value: false # 逻辑未删除值(默认为 0)
用插件生成实体类和dao层还有mapper文件
连接数据库
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jnGSmbXT-1670162337232)(https://gitee.com/ajiemo/gic/raw/blogs/20221204213929.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BXzvhJFR-1670162337233)(https://gitee.com/ajiemo/gic/raw/blogs/20221204214023.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fN91XnsX-1670162337234)(https://gitee.com/ajiemo/gic/raw/blogs/20221204214242.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7rwmCv0h-1670162337235)(https://gitee.com/ajiemo/gic/raw/blogs/20221204214245.png)]
就生成代码了
自动填充
在实体类添加注解@TableField(fill = FieldFill.INSERT)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0F6F488C-1670162337235)(https://gitee.com/ajiemo/gic/raw/blogs/20221204215245.png)]
创建自动填充类
/**
* mybatis-plus 的字段自动填充类
*
* @author ajie
*/
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
this.setFieldValByName("createTime", new Date(), metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
}
}
这样就可以在创建时添加时间
逻辑删除
根据上边配置的文件
删除时把isDelete由false变true 不配置的话就是0变1