/** * <p> * MybatisPlus配置 * </p> * * @author intest * @since 2019-07-22 */ @Slf4j @Configuration public class MybatisPlusConfig { private final PermissionConfig permissionConfig; @Autowired public MybatisPlusConfig(PermissionConfig permissionConfig) { this.permissionConfig = permissionConfig; } /** * 分页插件 */ @Bean public PaginationInterceptor paginationInterceptor() { PaginationInterceptor paginationInterceptor = new PaginationInterceptor(); paginationInterceptor.setDbType(DbType.MYSQL); // 设置请求的页面大于最大页后操作,true调回到首页,false 继续请求 默认false paginationInterceptor.setOverflow(false); // 设置最大单页限制数量,默认 500 条,-1 不受限制 paginationInterceptor.setLimit(-1); // paginationInterceptor.setLimit(500); // 开启 count 的 join 优化,只针对 left join !!! paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true)); paginationInterceptor.setSqlParserList(createSqlParseList()); return paginationInterceptor; } private List<ISqlParser> createSqlParseList() { List<ISqlParser> sqlParserList = new ArrayList<>(); List<PermissionRule> rules = permissionConfig.getRules(); if (rules != null && !rules.isEmpty()) { rules.forEach(rule -> { // 注册到缓存 rule.register(); if (rule.isEnable()) { sqlParserList.add(new PermissionSqlParser(rule)); } }); } if (sqlParserList.isEmpty()) { return Collections.emptyList(); } return sqlParserList; } /** * 自动填充插件 */ @Bean public MetaObjectHandler metaObjectHandler() { return new MyMetaObjectHandler(); } /** * Map映射的驼峰转换 */ @Bean public ConfigurationCustomizer configurationCustomizer() { return i -> i.setObjectWrapperFactory(new MybatisMapWrapperFactory()); } }
- 驼峰 下划线 mybatis-plus mybatis plus驼峰 下划线mybatis-plus mybatis 驼峰 下划线 模板mybatis mybatis-plus mybatis-plus mybatis plus mybatis-plus springboot mybatis mapper mybatis-plus springboot mybatis plus mybatis-plus mybatisplus mybatis java mybatis-plus typehandler mybatis类型 mybatis-plus mybatis spring java mybatis-plus语句mybatis日志