若依mybatis升级为mybatis-plus
一、添加mybatis-plus依赖、删除mybatis依赖,我用的是ruoyi 3.8.5,主pom里面已经没有了mybatis的依赖,如果有的话注释一下
这里添加mybatisplus依赖
1.4.6 3.5.2
com.baomidou mybatis-plus-boot-starter ${mybatis-plus.version} com.github.pagehelper pagehelper-spring-boot-starter ${pagehelper.boot.version} org.mybatis mybatis
注意:一定要做mybatis依赖的移除,否则pagehelper还是依赖mybatis会与plus冲突,报错。
ruoyi-common下的pom.xml添加依赖
com.baomidou mybatis-plus-boot-starter com.github.pagehelper pagehelper-spring-boot-starter
解释一下为什么要在这里再次添加mybatis-plus依赖。根目录的依赖是放到了dependencyManagement标签里了,是声明,并没有真正引用,当子模块用到了相应的依赖时需要在自己的pom里再引用进来,此时不用写版本号,因为声明时已规定好了。现在common模块需要引用mymatis-plus,所以需要在这里添加进来。那为什么之前使用mybatis的时候这个pom里没有引用mybatis的依赖呢?是因为common模块还引用了分页插件,还记得上一步时我移除了分页插件中的mybatis依赖吗?因为分页插件本身依赖了mybatis,所以之前common可以不引用mybatis,但是现在mybatis已被移除,所以必须重新引入mybatis-plus,否则代码会报错。若依单模块版本就不会出现这个问题。
修改配置文件
ruoyi-admin下class="lazy" data-src\main\resources\application.yml,注释mybatis的配置,新增plus的配置,这段配置我是从若依官方拷贝过来的,如果跟你实际不一样就修改一下
## MyBatis配置#mybatis:# # 搜索指定包别名# typeAliasesPackage: com.ruoyi.**.domain# # 配置mapper的扫描,找到所有的mapper.xml映射文件# mapperLocations: classpath*:mapper*Mapper.xml# # 加载全局的配置文件# configLocation: classpath:mybatis/mybatis-config.xml# MyBatis Plus配置mybatis-plus: # 搜索指定包别名 typeAliasesPackage: com.ruoyi.**.domain # 配置mapper的扫描,找到所有的mapper.xml映射文件 mapperLocations: classpath*:mapper*Mapper.xml # 加载全局的配置文件 configLocation: classpath:mybatis/mybatis-config.xml
修改MyBatisConfig
这个类中有一段手工构建SqlSessionFactory的代码,直接注释掉,因为yml文件中的配置是可以自动构建的。 倒也不是mybatis-plus不能用手工构建的方式,只不过需要将代码中的SqlSessionFactoryBean换成MybatisSqlSessionFactoryBean。但是既然能自动构建,那用手工的方式感觉真没必要,索性直接注释掉。
启动项目:启动项目出现mybatis-plus的标志,并且不报错,说明升级成功,在不影响原有功能的情况下,已经将mybatis升级到了mybatis-plus,在写新功能的时候可以愉快的使用plus了,旧功能建议保持原样,如果想要将旧功能也改造成plus版的,需要做不少改动,但是并不困难,只是有些繁琐,强迫症患者可以做一下。
祝大家都能成功切换!有问题留言咱们一块讨论
来源地址:https://blog.csdn.net/leonnew/article/details/129400769
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341