0


若依mybatis升级为mybatis-plus

一、添加mybatis-plus依赖、删除mybatis依赖,我用的是ruoyi 3.8.5,主pom里面已经没有了mybatis的依赖,如果有的话注释一下

            <!--<dependency>
                <groupId>org.mybatis.spring.boot.starter</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>${mybatis.version}</version>
            </dependency>-->

这里添加mybatisplus依赖

        <pagehelper.boot.version>1.4.6</pagehelper.boot.version>
        <mybatis-plus.version>3.5.2</mybatis-plus.version>
<!--mybatis-plus-->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>${mybatis-plus.version}</version>
            </dependency>
            <!-- pagehelper 分页插件 -->
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper-spring-boot-starter</artifactId>
                <version>${pagehelper.boot.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.mybatis</groupId>
                        <artifactId>mybatis</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

注意:一定要做mybatis依赖的移除,否则pagehelper还是依赖mybatis会与plus冲突,报错。

ruoyi-common下的pom.xml添加依赖

<!--mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>
        <!-- pagehelper 分页插件 -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
        </dependency>

解释一下为什么要在这里再次添加mybatis-plus依赖。根目录的依赖是放到了dependencyManagement标签里了,是声明,并没有真正引用,当子模块用到了相应的依赖时需要在自己的pom里再引用进来,此时不用写版本号,因为声明时已规定好了。现在common模块需要引用mymatis-plus,所以需要在这里添加进来。那为什么之前使用mybatis的时候这个pom里没有引用mybatis的依赖呢?是因为common模块还引用了分页插件,还记得上一步时我移除了分页插件中的mybatis依赖吗?因为分页插件本身依赖了mybatis,所以之前common可以不引用mybatis,但是现在mybatis已被移除,所以必须重新引入mybatis-plus,否则代码会报错。若依单模块版本就不会出现这个问题。

修改配置文件

ruoyi-admin下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版的,需要做不少改动,但是并不困难,只是有些繁琐,强迫症患者可以做一下。

祝大家都能成功切换!有问题留言咱们一块讨论

标签: mybatis java mysql

本文转载自: https://blog.csdn.net/leonnew/article/details/129400769
版权归原作者 leonnew 所有, 如有侵权,请联系我们删除。

“若依mybatis升级为mybatis-plus”的评论:

还没有评论