当前使用版本(必须填写清楚,否则不予处理)
3.3.1
spring boot 2.1.4
该问题是怎么引起的?(最新版上已修复的会直接close掉)
为了报表需求.需要执行自定义 SQL:
重现步骤
Mapper:
public interface AnySqlMapper extends BaseMapper {
@SelectProvider(type = SqlProvider.class,method = "getSql")
List queryBatch(String sql);
}
自定义 SQL 类:
public class SqlProvider {
public String getSql(String sql){
return sql;
}
}
报错信息
Caused by: java.lang.NoSuchMethodError: org.apache.ibatis.builder.annotation.ProviderSqlSource.(Lorg/apache/ibatis/session/Configuration;Ljava/lang/annotation/Annotation;Ljava/lang/Class;Ljava/lang/reflect/Method;)V
at com.baomidou.mybatisplus.core.MybatisMapperAnnotationBuilder.getSqlSourceFromAnnotations(MybatisMapperAnnotationBuilder.java:469)
at com.baomidou.mybatisplus.core.MybatisMapperAnnotationBuilder.parseStatement(MybatisMapperAnnotationBuilder.java:281)
at com.baomidou.mybatisplus.core.MybatisMapperAnnotationBuilder.parse(MybatisMapperAnnotationBuilder.java:112)
at com.baomidou.mybatisplus.core.MybatisMapperRegistry.addMapper(MybatisMapperRegistry.java:82)
at com.baomidou.mybatisplus.core.MybatisConfiguration.addMapper(MybatisConfiguration.java:103)
at org.mybatis.spring.mapper.MapperFactoryBean.checkDaoConfig(MapperFactoryBean.java:80)
at org.springframework.dao.support.DaoSupport.afterPropertiesSet(DaoSupport.java:44)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1837)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1774)
... 120 more
Comment From: miemieYaho
https://gitee.com/baomidou/mybatis-plus-samples/blob/master/mybatis-plus-sample-sql-injector/src/test/java/com/baomidou/samples/injector/InjectorTest.java
无法复现
Comment From: YaxiongJiang1993
用3.3.1
spring boot 2.1.4这个版本啊 怎么可能复现不了