公司决定统一mybatis的工具为mybatis-plus,博主本来用的tk.mybatis。因此需要改些代码…
依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
改动
实体类注解
@Id
=> @TableId
@Table
=> @TableName
MapperScan所依赖的包
tk.mybatis.spring.annotation.MapperScan
=> org.mybatis.spring.annotation.MapperScan
Mapper类父类
使用com.baomidou.mybatisplus.core.mapper.BaseMapper
当我以为都改好了后,测试了一下mybatis-plus封装好的方法,出现文章标题的问题。
最后查阅资料发现,如果你配置了多数据源,配置类中的SqlSessionFactory
要换成MybatisSqlSessionFactoryBean
,如下所示:
@Bean("SqlSessionFactory")
@Primary
public SqlSessionFactory SqlSessionFactory(@Qualifier("dataSource") DataSource dataSource) throws Exception{
MybatisSqlSessionFactoryBean sqlSessionFactoryBean = new MybatisSqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource);
sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(mapperLocations));
return sqlSessionFactoryBean.getObject();
}
到此,mybatis-plus封装的方法就可以正常使用了~