1.背景

老项目是mybatis的,但是新项目想使用mybatis-plus,

故需要升级

2.实现步骤

2.1、删除所有的mybatis包,一定要去除所有的mybatis包。包括其他依赖内的依赖

2.2、导入mybatis-plus包

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.1</version>
</dependency>

2.3、修改配置

# mybatis配置
#mybatis.mapperLocations=classpath:mapper/*.xml
#mybatis.configuration.map-underscore-to-camel-case=true
#mybatis.configuration.call-setters-on-nulls=true
#pagehelper.helperDialect=oracle
# mybatis-plus配置
mybatis-plus.mapper-locations=classpath:mapper/*.xml
mybatis-plus.global-config.db-config.db-type=oracle
mybatis-plus.global-config.db-config.field-strategy=not_empty
mybatis-plus.configuration.map-underscore-to-camel-case=true

2.4、或者手动注入mybatis配置(重要)

@Configuration
@MapperScan(basePackages = {"com.XXX.mapper"})
@EnableTransactionManagement
public class MybatisPlusConfig {
    /**
     * 性能分析拦截器,不建议生产使用
     */
//    @Bean
//    public PerformanceInterceptor performanceInterceptor(){
//        return new PerformanceInterceptor();
//    }
 
    /**
     * 分页插件
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }
 
    /**
     * pagehelper的分页插件
     */
    @Bean
    public PageInterceptor pageInterceptor() {
        return new PageInterceptor();
    }
 
    @Bean
    public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
        String mapperLocations = "classpath:mapper/*.xml";
        VFS.addImplClass(SpringBootVFS.class);
        final MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean();
        sessionFactory.setDataSource(dataSource);
        sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(mapperLocations));
        return sessionFactory.getObject();
    }
}