# mybatis-plus-tableslince **Repository Path**: dwxdfhx/mybatis-plus-tableslince ## Basic Information - **Project Name**: mybatis-plus-tableslince - **Description**: mybatis-plus-tableslince基于mybatis-plus的自动分表插件,按照设置的分表策略如按月,会自动每个月创建一个表,自动crud动态表. - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 7 - **Created**: 2019-06-17 - **Last Updated**: 2025-05-23 ## Categories & Tags **Categories**: database-dev **Tags**: None ## README ##mybatis | mybatis plus 自动分表插件 ###已支持自动分表规则 1.按年 2.按月 3.按日 规则目录:package com.mybatis.plug.slicingStrategy;可以在这里自定义分表时间策略 ###maven引入 ```xml com.mybatis.plug mybatis-plus-tableslince 1.0-SNAPSHOT ``` ###spring环境配置 spring xml中新增: ```xml ``` spring.xml中修改mybatis plus的配置: ```xml ``` 被分表的entity上添加注解: @TableSlicing(slicing = true, value = "SYS_AUTH_LOG", strategy = "DAY") ###spring boot配置 mybatis plus 的@Configuration配置文件中新增: ``` /** * 分表插件 * * @return */ @Bean("strategyManager") public StrategyManager strategyManager() { StrategyManager strategyManager = new StrategyManager(); Map strategies = new HashMap<>(); strategies.put("YEAR", "com.mybatis.plug.slicingStrategy.ByYearStrategy"); strategies.put("MOUTH", "com.mybatis.plug.slicingStrategy..ByMouthStrategy"); strategies.put("DAY", "com.mybatis.plug.slicingStrategy..ByDayStrategy"); strategyManager.setStrategies(strategies); Map slicingTables = new HashMap<>(); slicingTables.put("SYSTEM_AUTH_LOG", "cn.buz.models.entity.AuthLog"); slicingTables.put("SYSTEM_LOG4J_RECORDS", "cn.buz.models.entity.Log4jRecords"); strategyManager.setSlicingTables(slicingTables); return strategyManager; } /** * table分表插件 */ public TableSlicingInterceptor tableSlicingInterceptor() { TableSlicingInterceptor slicing = new TableSlicingInterceptor(); return slicing; } ``` 被分表的entity上添加注解: @TableSlicing(slicing = true, value = "SYS_AUTH_LOG", strategy = "DAY") ###其他说明 1.目前只在oracle环境下测试过,没有兼容多数据库类型.