1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/dwxdfhx-mybatis-plus-tableslince

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 3.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
tianxia007 Отправлено 17.06.2019 04:44 8365d66

##mybatis | mybatis plus 自动分表插件 ###已支持自动分表规则
1.按年
2.按月
3.按日
规则目录:package com.mybatis.plug.slicingStrategy;可以在这里自定义分表时间策略

###maven引入

<dependency>
       <groupId>com.mybatis.plug</groupId>
       <artifactId>mybatis-plus-tableslince</artifactId>
       <version>1.0-SNAPSHOT</version>
</dependency>

###spring环境配置
spring xml中新增:

 <!-- ApplicationContext 改工具类一般都会在自己业务系统中有,可以用自己的-->
    <bean class="com.mybatis.plug.util.ApplicationContextUtil"></bean>
    
 <!-- 切割表策略manager 配置策略-->
    <bean id="strategyManager" class="com.mybatis.plug.interceptor.StrategyManager">
        <property name="strategies">
            <map>
                <entry key="YEAR" value="com.mybatis.plug.slicingStrategy.ByYearStrategy"/>
                <entry key="MOUTH" value="com.mybatis.plug.slicingStrategy.ByMouthStrategy"/>
                <entry key="DAY" value="com.mybatis.plug.slicingStrategy.ByDayStrategy"/>
            </map>
        </property>
        <property name="slicingTables">
            <map>
                <entry key="SYS_SYSTEM_LOG" value="cn.buz.models.entity.AuthLog"/>
                <entry key="SYS_LOG4J_RECORDS" value="cn.buz.models.entity.Log4jRecords"/>
            </map>
        </property>
    </bean>

spring.xml中修改mybatis plus的配置:

<!--插件-->
        <property name="plugins">
            <array>
                <!-- 分页插件配置 -->
                <bean id="paginationInterceptor"
                      class="com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor"/>
                <!-- 乐观锁插件 -->
                <bean id="optimisticLockerInterceptor"
                      class="com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor"/>
                <bean id="tableSlicingInterceptor"
                      class="com.mybatis.plug.interceptor.TableSlicingInterceptor"/>
            </array>
        </property>

被分表的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<String, String> 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<String, String> 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环境下测试过,没有兼容多数据库类型.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/dwxdfhx-mybatis-plus-tableslince.git
git@api.gitlife.ru:oschina-mirror/dwxdfhx-mybatis-plus-tableslince.git
oschina-mirror
dwxdfhx-mybatis-plus-tableslince
dwxdfhx-mybatis-plus-tableslince
master