Mybatis-Plus插件配置
2024-09-02 18:23:18
yml配置
1 # Mybatis-Plus
2 mybatis-plus:
3 # 配置mapper的扫描,找到所有的mapper.xml映射文件
4 mapper-locations: com.xxx.project.biz.*.mapper.*Mapper.xml,com.xxx.project.biz.*.*.mapper.*Mapper.xml
5 #实体扫描
6 typeAliasesPackage: com.xxx.project.biz.*.entity,com.xxx.project.biz.*.*.entity
7 global-config:
8 # 数据库相关配置
9 db-config:
10 #主键类型 NONE:"数据库ID自增", INPUT:"用户输入ID", ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID", AUTO: MP自动决定;
11 id-type: id_worker
12 #字段策略 IGNORED:"忽略判断", NOT_NULL:"非 NULL 判断", NOT_EMPTY:"非空判断"
13 field-strategy: not_empty
14 #驼峰下划线转换
15 column-underline: true
16 #数据库大写下划线转换
17 capital-mode: true
18 #table-prefix: sys_
19 #逻辑删除配置
20 logic-delete-value: 1
21 logic-not-delete-value: 0
22 # 数据库类型
23 db-type: mysql
24 #刷新mapper 调试神器
25 refresh: true
26 # 原生配置
27 configuration:
28 map-underscore-to-camel-case: true
29 cache-enabled: false
30 # 打印sql日志
31 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl乐观锁、逻辑删除、物流分页插件配置
1 /**
2 * MybatisPlus 扫描mapper配置 以及 插件配置
3 * @Author: xhq
4 * @Version: 1.0
5 */
6 @Configuration
7 @MapperScan({"com.xxx.project.biz.*.mapper","com.xxx.project.biz.*.*.mapper"})
8 public class MybatisPlusConfig {
9
10 /**
11 * 物理分页 插件
12 * @return
13 */
14 @Bean
15 public PaginationInterceptor paginationInterceptor() {
16 return new PaginationInterceptor();
17 }
18
19 /**
20 * 乐观锁 插件
21 * @return
22 */
23 @Bean
24 public OptimisticLockerInterceptor optimisticLockerInterceptor() {
25 return new OptimisticLockerInterceptor();
26 }
27
28 /**
29 * 逻辑删除
30 * @return
31 */
32 @Bean
33 public ISqlInjector sqlInjector() {
34 return new LogicSqlInjector();
35 }
36 }1 /**
2 * Entity基类
3 *
4 * @author xhq
5 */
6 public class BaseEntity implements Serializable {
7
8 private static final long serialVersionUID = 1L;
9
10 /** 主键id @JSONField该注解是解决Long类型太长传值前端精度丢失*/
11 @JSONField(serializeUsing= ToStringSerializer.class)
12 private Long id;
13
14 /** 创建时间 插入自动填充 */
15 @TableField(fill = FieldFill.INSERT)
16 private Date createTime;
17
18 /** 更新时间 插入和更新自动填充 */
19 @TableField(fill = FieldFill.INSERT_UPDATE)
20 private Date updateTime;
21
22 /** 备注 */
23 private String remark;
24
25 /** 逻辑删除 0:正常 1:删除 */
26 @TableLogic
27 private Integer deleted;
28
29 /** 乐观锁 */
30 @Version
31 private Integer version;
32
33 getter and setter... ...
34 }自动填充字段配置
1 /**
2 * mybatis-plus 自定义自动填充字段处理器
3 * @Author: xhq
4 * @Version: 1.0
5 */
6 @Component
7 public class MyMetaObjectHandler implements MetaObjectHandler {
8
9 @Override
10 public void insertFill(MetaObject metaObject) {
11 this.setInsertFieldValByName("createTime", new Date(), metaObject);
12 this.setInsertFieldValByName("updateTime", new Date(), metaObject);
13 }
14
15 @Override
16 public void updateFill(MetaObject metaObject) {
17 this.setUpdateFieldValByName("updateTime", new Date(), metaObject);
18 }
19 }
最新文章
- Intern---Microsoft Academic China Team
- a标签,img标签,表格
- codevs 2606 约数和问题
- awk处理之案例一:awk 处理百分比的问题
- 【JAVA】浅谈java内部类
- Class org.apache.struts2.json.JSONWriter can not access a member of
- 类XX是公共的,应在名为XX.java的文件中声明public class XX
- Openlayer 3 的画线测量长度
- php 中 php-fpm 的重启、终止操作命令
- 合并Spark社区代码的正确姿势
- 《ASP.NET Core In Action》读书笔记系列三 ASP.NET Core如何处理请求的?
- ContOS7切换国内源
- CF1098B/CF1099E Nice table
- Numpy三维数组的转置与交换轴
- [Spark][Python]DataFrame select 操作例子II
- 排序(Sort)-----冒泡排序
- 【spring-boot】spring-boot 整合 ehcache 实现缓存机制
- Nginx 配置遇到问题
- C#零基础入门03:打老鼠初级
- Freemarker操作字符串
热门文章
- Jenkins(7)参数化构建(构建git仓库分支)
- .net core Api 部署到Linux
- Inceptor常用SQL
- F - Courses (学生选课(匈牙利算法模板))
- Codeforces Round #669 (Div. 2) A. Ahahahahahahahaha (构造)
- 【ybt金牌导航1-2-4】免费馅饼
- CF1415-C. Bouncing Ball
- 洛谷p1725 露琪诺 单调队列优化的DP
- C++ Primer笔记
- HTML5 Animation Creator | Hype 官方文档