定时创建数据表

@Component
public class TimingListener {

//每月1日1点新增按月分的表
    @Scheduled(cron = "0 0 1 1 * ?")
    public void createMonthTable(){
        LocalDate date = LocalDate.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
        String tableName = date.format(formatter).replace("-","");
        try{
            //新增北斗卡统计表
            bdcardStatisticService.createBdcardTable("t_bus_bdcard_statistic_"+tableName);
        }catch (Exception e){
            e.printStackTrace();
        }
    }

	public void createBdcardTable(String tableName ){
        String sequence = tableName+"_id_seq";
        try{
            bdcardStatisticMapper.addSequence(tableName);
        }catch(Exception e){}
        try{
            bdcardStatisticMapper.createTable(tableName,sequence);
        }catch(Exception e){}
    }


	<insert id = "addSequence">
        CREATE SEQUENCE ${tableName}_id_seq
        INCREMENT BY 1
        START WITH 1
        CACHE 1
    </insert>

	<insert  id ="createTable">
        CREATE TABLE  ${tableName} (
          "id" int4 NOT NULL DEFAULT nextval('${sequence}'::regclass),
          "bd_card" varchar(255) COLLATE "pg_catalog"."default",
          "fence_num" int4 DEFAULT 0,
          "sos_num" int4 DEFAULT 0,
          "location_num" int4 DEFAULT 0,
          "commun_num" int4 DEFAULT 0,
          "create_time" timestamp(6) DEFAULT CURRENT_TIMESTAMP,
          "organ_id" int4,
          "bdcard_owner_id" int4,
          "overseas" int2 DEFAULT 0,
          "overclocking" int2 DEFAULT 0,
          "overtime" int2 DEFAULT 0,
          "multipurpose" int2 DEFAULT 0
        )
    </insert>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值