1、解决方法:

全局配置 mybatis-plus 指定 DM 数据库。如果不指定,默认为 Mysql。


2、代码解决(新版本解决方案):

@Configuration
public class MybatisPlusConfig {
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.DM));
        return interceptor;
    }
}

2.1、其他报错解决

pom 没有引入分页插件。

<!-- Mybatis带分页插件 -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>${mybatis-plus.version}</version>
</dependency>

2.2、mybatis的用全局配置的是旧版本问题

@Configuration
@EnableTransactionManagement
@MapperScan( { "com.cat.coder.dao" })
public class MybatisPlusConfig {
 
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor().setDialectType("mysql");
    }

}

2.3 自定义自行根据版本替换插件


@Configuration
@EnableTransactionManagement
@MapperScan( { "com.cat.coder.dao" })
public class MybatisPlusConfig {
 
    @Bean(name = "session_factory")
    public SqlSessionFactory sqlSessionFactory(@Qualifier("cat") DataSource dataSource) throws Exception {
        
        // 其它代码 .....
 
        //关键代码 设置 MyBatis-Plus 分页插件
        Interceptor[] plugins = {paginationInterceptor()};
        sqlSessionFactoryBean.setPlugins(plugins);
        
        // 其它代码 .....
 
        return sqlSessionFactoryBean.getObject();
    }
 
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor().setDialectType("mysql");
    }
 
}

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐