在springboot下将mybatis升级为mybatis-plus
- 1. 整体描述
- 2. 具体步骤
- 2.1 更新pom引用
- 2.2 更新yml配置
- 2.3 更新config配置
- 2.4 BaseEntity修改
- 3. 程序启动
- 4. 总结
1. 整体描述
之前项目工程用的是mybatis,现在需要将其替换为mybatis-plus,mybatis-plus的mapper有很多自带的查询方法,用起来更加方便一些。
2. 具体步骤
2.1 更新pom引用
首先要将之前mybatis的依赖删除,要不会有问题。删除之后在pom加入如下引用:
<!-- mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.1</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
其中后面的starter版本和springboot的版本一致即可。
2.2 更新yml配置
和mybatis一样,mybatis-plus也是需要配置一些参数的,比如mapper文件路径,domain文件路径之类的,同样先将之前mybatis的配置删除,然后添加如下配置,参数可以根据自己项目情况进行修改:
注:其中包名根据自己项目修改。
mybatis-plus:
# 搜索指定包别名
type-aliases-package: com.[XXX].project.**.domain
# 配置mapper的扫描,找到所有的mapper.xml映射文件
mapper-locations: classpath*:mybatis/**/*Mapper.xml
# 全局配置
global-config:
# 主键类型 0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
id-type: 0
# 字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
field-strategy: 2
# 驼峰下划线转换
db-column-underline: true
# 刷新mapper 调试神器
refresh-mapper: true
# 配置
configuration:
# 驼峰式命名
map-underscore-to-camel-case: true
# 全局映射器启用缓存
cache-enabled: true
# 指定 MyBatis 所用日志的具体实现
log-impl: org.slf4j;
# 配置默认的执行器
default-executor-type: reuse
# 允许 JDBC 支持自动生成主键
use-generated-keys: true
2.3 更新config配置
如果之前项目里有mybatis的config文件,@config的配置,需要删除。这块我没在代码里加config配置,就把之前的配置删除就可以了。
2.4 BaseEntity修改
如果之前的项目里有使用BaseEntity,但是BaseEntity类里的一些参数在数据库里没有,需要在这些参数上面添加一个注解,告诉mybatis-plus这些字段不需要去查数据库,具体如下:
/**
* 搜索值
*/
@TableField(exist = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
private String searchValue;
还有其他的domain中如果也是不存在数据库中不存在的参数,建议也加上这个注解。
3. 程序启动
至此,修改就完成了,修改之后rebuild一下功能,我之前没rebuild,就一直报错,rebuild一下就好了。
启动之后看到如下,就说明mybatis-plus已经成功引入并启动了:
4. 总结
mybatis-plus相比mybatis还有有很多方便之处的,还有就是从mybatis升级到mybatis-plus,之前的mapper代码可以直接使用,是向下兼容的,在之后新创建的mapper的时候,可以用mybatis-plus的BaseMapper里面的自带方法,这样对我们来说就少了很多麻烦,之前项目写完的那些mapper就不用改了。
以上就是本文的全部内容,感谢阅读。