All Downloads are FREE. Search and download functionalities are using the official Maven repository.

top.lshaci.framework.mybatis.config.MybatisPlusConfig Maven / Gradle / Ivy

The newest version!
package top.lshaci.framework.mybatis.config;

import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import top.lshaci.framework.mybatis.properties.FrameworkMybatisProperties;

/**
 * 

Mybatis plus config


* * 1.0.3: 添加SQL执行效率插件Bean配置
* 1.0.7: 升级mybatis plus3.3.1版本, 官方删除SQL执行效率插件Bean配置; 推荐使用第三方插件https://mybatis.plus/guide/p6spy.html
* 1.0.8: 字段注入修改为构造器注入,修改mybatis plus插件配置
* * @author lshaci * @version 1.0.8 * @since 1.0.2 */ @Slf4j @Configuration @AllArgsConstructor @EnableConfigurationProperties(FrameworkMybatisProperties.class) public class MybatisPlusConfig { private final FrameworkMybatisProperties properties; /** * 配置mybatis plus 插件 * * @return mybatis plus 插件 */ @Bean public MybatisPlusInterceptor MybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); if (properties.getPagination().isEnabled()) { log.debug("Config mybatis plus pagination interceptor."); PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(); paginationInnerInterceptor.setMaxLimit(properties.getPagination().getLimit()); paginationInnerInterceptor.setOverflow(properties.getPagination().isOverflow()); interceptor.addInnerInterceptor(paginationInnerInterceptor); } if (properties.getOptimisticLocker().isEnabled()) { log.debug("Config mybatis plus optimistic locker interceptor."); interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor()); } return interceptor; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy