# mybatis-plus-extend **Repository Path**: zzy_13169639/mybatis-plus-extend ## Basic Information - **Project Name**: mybatis-plus-extend - **Description**: mybatis plus的一些自定义扩展 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-09-18 - **Last Updated**: 2023-09-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 如果这个项目对你有所帮助,记得 :heart: Star 关注 :heart: 哦,这是对我最大的支持与鼓励。 #### 介绍 mybatis plus的一些自定义扩展。
虽然mybatis plus的功能已经很强大,但是在日常的开发中我觉得还可以抽象出一些公共接口,减少项目中的开发量,所以mybatis-plus-extend就是来做这点事情的。 它可以帮你完成以下扩展:
- 对于采用UpdateWrapper方式的更新,只要继承了BaseEntity类则自动更新`UPDATE_USER`和`UPDATE_TIME`字段,原生的mybatis plus中UpdateWrapper需要手动指定更新的字段,而这个在项目开发中经常忘记,在日志审计和数仓建设中却非常重要; - 内置了直接执行sql的方式,项目中需继承`com.zzy.mp.helper.core.service.MpServiceImpl`类,不再是`com.baomidou.mybatisplus.extension.service.impl.ServiceImpl` 例如: ```java public void get() { Map map = new HashMap<>(); map.put("sql", "select * from test_user where id in ( #{param} ) "); map.put("param","6"); List userDTOS = userService.nativeSqlList(map, UserDTO.class); System.out.println(userDTOS); } ``` - mybatis-plus内置的insertBatchSomeColumn是采用foreach的方式拼接的values,但是Oracle不支持,所以`MpServiceImpl#insertBatchAllColumn`实现了Oracle下的批量插入。注:如果批量插入时Entity中的数据结构都是一样的,那么还是推荐mybatis plus的saveBatch方法; - 只要继承了BaseEntity类,那么在插入时自动添加`ID`、`CREATE_USER`、`CREATE_TIME`、`UPDATE_USER`、`UPDATE_TIME`,更新时自动修改`UPDATE_USER`、`UPDATE_TIME`,注:需要向spring容器中注入`com.zzy.mp.helper.core.handler.IdGenerator`和`com.zzy.mp.helper.core.handler.UserHandler`的实现类获取id的生成和用户的获取。 #### 软件架构 springboot-2.x.x
mybatis-plus-boot-starter-3.x.x.x #### 安装教程 只需在项目中引入一个依赖 ```xml com.zzy mybatis-plus-extend-starter 1.0.0 ``` #### 使用说明 参照`mp-extend-samples`模块下`com.zzy.test.Test类` #### 参与贡献 欢迎给出优化建议以及指出bug,请清楚描述遇到的问题,通过提issue或者直接联系作者讨论,感激不尽。 #### 联系作者 :email: 邮箱: 13169639@qq.com QQ交流群:773938960