若依和mybatis plus整合采坑

若依版本3.2.0,mybatis plus 版本3.4.2
今天周日,折腾一天,就为了弄明白为什么若依和mp不能共存。因为:
若依自带了一个mybatis,版本和mybatis plus版本冲突

解决方案:
1.改成这样,看见了吗,mybatis-spring-boot-starter版本改为2.1.4
找到ruoyi-framework包
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.4</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.2</version> </dependency>
2.修改mybatis配置bean因为需要改sqlSessionFactory
找到com.ruoyi.framework.config下的MyBatisConfig,替换

@Bean
    public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception
    {
        String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage");
        String mapperLocations = env.getProperty("mybatis.mapperLocations");
        String configLocation = env.getProperty("mybatis.configLocation");
        typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage);
        VFS.addImplClass(SpringBootVFS.class);

//        final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
//其实就改这1句
        MybatisSqlSessionFactoryBean sessionFactory=new MybatisSqlSessionFactoryBean();
        sessionFactory.setDataSource(dataSource);
        sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
        sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(mapperLocations));
        sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation));
        return sessionFactory.getObject();
    }

3.如果有enum也需要在第二步return之前加入,直接配置是没用的

sessionFactory.setTypeEnumsPackage("com.ruoyi.**.enums");

完毕。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容