@Value(“${mybatis.type-aliases-package}”)
private String aliases;
@Autowired
private DataSource dataSource;
@Bean(name = “sqlSessionFactory”)
public SqlSessionFactory sqlSessionFactory() throws Exception {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
// 设置数据源
bean.setDataSource(dataSource);
// 设置xml
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(mapper));
// 设置别名
bean.setTypeAliasesPackage(aliases);
// 添加分页插件
bean.setPlugins(new Interceptor[]{pageInterceptor()});
bean.getObject().getConfiguration().setMapUnderscoreToCamelCase(true);
return bean.getObject();
}
/**
-
分页拦截器
-
@return
*/
private PageInterceptor pageInterceptor() {
PageInterceptor pageInterceptor = new PageInterceptor();
// 详见 com.github.pagehelper.page.PageParams
Properties p = new Properties();
// RowBounds是否进行count查询 - 默认不查询
p.setProperty(“rowBoundsWithCount”, “true”);
// 当设置为true的时候,如果page size设置为0(或RowBounds的limit=0),就不执行分页,返回全部结果
p.setProperty(“pageSizeZero”, “true”);
// 分页合理化
p.setProperty(“reasonable”, “false”);
// 是否支持接口参数来传递分页参数,默认false
p.setProperty(“supportMethodsArguments”, “true”);
// 设置数据库方言 , 也可以不设置,会动态获取
p.setProperty(“helperDialect”, “mysql”);
pageInterceptor.setPro