最近在开发的过程中用到了mybatisPlus,由于其简单易用的特性,让我忍不住想要了解一下。于是在自己的电脑上进行了springboot整合mybatisPlus的操作,果不其然,看似简单的东西,却足足耗费了我3个小时的时间。在我整合的过程中一直报java.lang.IllegalArgumentException: Must specify at least one profile这个错误,看字面意思,其实就是至少要有一个配置文件。而查看后发现,是有配置文件的,所以我就一口认定 配置文件的问题。导致我走了好长的弯路,最后没有办法 ,就把没用的东西一个一个的删掉,终于在配置文件找到了问题。
在 下面这个文件中有两个关键注解@Configuration和@Profile({}),而问题就出在这两个注解上。
@EnableTransactionManagement
@Configuration
@MapperScan(basePackages = {"com.cn.item.ego.mapper"})
public class MybatisPlusConfig {
//分页插件
@Bean
public PaginationInterceptor paginationInterceptor(){
//开启count的join优化,只针对 left join
return new PaginationInterceptor().setCountSqlParser(new JsqlParserCountOptimize(true));
}
/**sql执行效率插件*/
@Bean
// @Profile({"dev","int","test"})//设置 dev int test环境开启
// @Profile({})
public PerformanceInterceptor performanceInterceptor(){
return new PerformanceInterceptor();
}
}
@Configuration项目启动时加载此类,@Profile读取指定的配置文件,但是如果写成@Profile({})就相当于指定了一个空的配置文件,导致报上面的错误。
解决方案:删除@Profile或者指定正确的配置文件。