在ruoyi中,存在mybatis,但是,我们要想使用mybatis-plus,是会存在依赖冲突的,不过我听说,这个版本m和mp的依赖冲突在四月就发布解决方案了,应该是新版的mybatis-plus,
解决方案如下,
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>
修改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();
}
如果有enum也需要在第二步return之前加入,直接配置是没用的
sessionFactory.setTypeEnumsPackage("com.ruoyi.**.enums");