• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

mybatis-plus-tableslince: mybatis-plus-tableslince基于mybatis-plus的自动分表插件 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

mybatis-plus-tableslince

开源软件地址:

https://gitee.com/dwxdfhx/mybatis-plus-tableslince

开源软件介绍:

##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人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap