|
@@ -5,15 +5,22 @@ import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
|
import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator;
|
|
import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator;
|
|
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
|
|
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
|
|
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
|
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.inner.DynamicTableNameInnerInterceptor;
|
|
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
|
|
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
|
|
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
|
|
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
|
|
|
|
+import com.ruoyi.common.utils.StringUtils;
|
|
import com.ruoyi.framework.handler.CreateAndUpdateMetaObjectHandler;
|
|
import com.ruoyi.framework.handler.CreateAndUpdateMetaObjectHandler;
|
|
|
|
+import com.ruoyi.framework.handler.MonthTableNameHandler;
|
|
|
|
+import com.ruoyi.framework.handler.YearTableNameHandler;
|
|
import com.ruoyi.framework.interceptor.PlusDataPermissionInterceptor;
|
|
import com.ruoyi.framework.interceptor.PlusDataPermissionInterceptor;
|
|
import org.mybatis.spring.annotation.MapperScan;
|
|
import org.mybatis.spring.annotation.MapperScan;
|
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
|
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
|
|
|
|
|
|
|
+import java.util.List;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* mybatis-plus配置类(下方注释有插件介绍)
|
|
* mybatis-plus配置类(下方注释有插件介绍)
|
|
*
|
|
*
|
|
@@ -24,15 +31,25 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
|
|
@MapperScan("${mybatis-plus.mapperPackage}")
|
|
@MapperScan("${mybatis-plus.mapperPackage}")
|
|
public class MybatisPlusConfig {
|
|
public class MybatisPlusConfig {
|
|
|
|
|
|
|
|
+ @Value("${tableNames.Month}")
|
|
|
|
+ private String MonthTableNames;
|
|
|
|
+ @Value("${tableNames.Year}")
|
|
|
|
+ private String YearTableNames;
|
|
|
|
+
|
|
@Bean
|
|
@Bean
|
|
public MybatisPlusInterceptor mybatisPlusInterceptor() {
|
|
public MybatisPlusInterceptor mybatisPlusInterceptor() {
|
|
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
|
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
|
|
|
+ //动态表名(月)
|
|
|
|
+ interceptor.addInnerInterceptor(dynamicTableNameInnerInterceptor());
|
|
|
|
+ //动态表名(年)
|
|
|
|
+ interceptor.addInnerInterceptor(dynamictableNameInnerInterceptor());
|
|
// 数据权限处理
|
|
// 数据权限处理
|
|
interceptor.addInnerInterceptor(dataPermissionInterceptor());
|
|
interceptor.addInnerInterceptor(dataPermissionInterceptor());
|
|
// 分页插件
|
|
// 分页插件
|
|
interceptor.addInnerInterceptor(paginationInnerInterceptor());
|
|
interceptor.addInnerInterceptor(paginationInnerInterceptor());
|
|
// 乐观锁插件
|
|
// 乐观锁插件
|
|
interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
|
|
interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
|
|
|
|
+
|
|
return interceptor;
|
|
return interceptor;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -56,6 +73,34 @@ public class MybatisPlusConfig {
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
|
|
+ * 按月动态表名
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+ public DynamicTableNameInnerInterceptor dynamicTableNameInnerInterceptor()
|
|
|
|
+
|
|
|
|
+ {
|
|
|
|
+ DynamicTableNameInnerInterceptor dynamicTableNameInnerInterceptor = new DynamicTableNameInnerInterceptor();
|
|
|
|
+ dynamicTableNameInnerInterceptor.setTableNameHandler(
|
|
|
|
+ //可以传多个表名参数,指定哪些表使用MonthTableNameHandler处理表名称
|
|
|
|
+ new MonthTableNameHandler(MonthTableNames)
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ return dynamicTableNameInnerInterceptor;
|
|
|
|
+ }
|
|
|
|
+ public DynamicTableNameInnerInterceptor dynamictableNameInnerInterceptor()
|
|
|
|
+
|
|
|
|
+ {
|
|
|
|
+ DynamicTableNameInnerInterceptor dynamicTableNameInnerInterceptor = new DynamicTableNameInnerInterceptor();
|
|
|
|
+ dynamicTableNameInnerInterceptor.setTableNameHandler(
|
|
|
|
+ //可以传多个表名参数,指定哪些表使用MonthTableNameHandler处理表名称
|
|
|
|
+ new YearTableNameHandler(YearTableNames)
|
|
|
|
+ );
|
|
|
|
+ return dynamicTableNameInnerInterceptor;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
* 乐观锁插件
|
|
* 乐观锁插件
|
|
*/
|
|
*/
|
|
public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor() {
|
|
public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor() {
|
|
@@ -99,4 +144,5 @@ public class MybatisPlusConfig {
|
|
* https://baomidou.com/pages/2a45ff/
|
|
* https://baomidou.com/pages/2a45ff/
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
+
|
|
}
|
|
}
|