MybatisPlus动态修改表名

一,业务背景

	业务上要求存储数据的时候根据某个字段动态的选择数据要存储的表.
	如根据code字段: code->[1001,1002]来进行选择存储的表:
	经过下面的配置实现动态表名如 --> table1_1001,table_1002的效果.以此动态生成表名的效果.

二,解决方案

使用mybatis-plus中的动态表名插件,而且版本必须是3.1.2以上版本

需求,将数据按照月份放在不同的表中,2022年1月份数据放在monitor_accelerometer_rapid202201表中,2022年2月份数据放在monitor_accelerometer_rapid202202表中,通常这种需求还伴随定时任务建表需求。

1,准备工作

说明:表是真实存在,且要动态替换的新表必须与实体类表结构一样

@Data
@TableName("monitor_accelerometer_rapid202201")
public class SensorValue implements Serializable {
   
    private static final long serialVersionUID = 5892027263270309341L;

    @TableId(value = "id",type = IdType.AUTO)
    private Integer id;

    private Integer pointId;

    private Integer equipmentId;

    private String sensorNo;

    @TableField(value = "create_time",fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date createTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date sensorTime;

    private String sensorValueJson;
}

2,在mybatis-plus配置的分页插件中添加如下代码

配置好插件后,并不会影响其他分页功能的使用

@Configuration
public class MybatisPlusConfig {
   

	//分页插件总添加动态表名插件
	@Bean
    
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值