Mybatis在Oracle MySQL时进行动态建表

应用场景: 服务器日志需要按月划分,所以想到采用动态创建数据表,下面分别写一下Mybatis框架的,Oracle数据 和 Mysql数据库动态建表的语句:
1 : Mybatis + Mysql 动态建表
在这里插入图片描述

<update id="create_Table" parameterClass="java.util.HashMap">
      <![CDATA[
        CREATE TABLE $tableName$ (
             `T_ID` bigint(19) NOT NULL AUTO_INCREMENT,
             `T_TYPE` varchar(4) DEFAULT NULL,
             `T_TRADE_ID` varchar(50) DEFAULT NULL,
             `T_TYPE` varchar(20) DEFAULT NULL,
             `F_TYPE` varchar(4) DEFAULT NULL,
             `TRE_REQUEST_CONTENT` text,
             `TDE_RESULT_CONTENT` text,
             `CRD_DATE` datetime DEFAULT NULL,
             `IED_DATE` datetime DEFAULT NULL,
             `TED_USER` varchar(45) DEFAULT NULL,
             `FIED_USER` varchar(45) DEFAULT NULL,
             `ISETE` tinyint(1) DEFAULT NULL,
             `AN` varchar(4) DEFAULT NULL,
             `STUS` varchar(4) DEFAULT NULL,
             `SE_IP` varchar(100) DEFAULT NULL,
             PRIMARY KEY (`TR_ID`),
             INDEX IDX_ETT_CREATED_DATE_$currentDate$(CREATED_DATE),
             INDEX IDX_ETT_THIRD_TRADE_ID_$currentDate$(THIRD_TRADE_ID)
        ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4
      ]]>
  </update>

2:Mybatis + Oracle 动态建表:
在这里插入图片描述
在这里插入图片描述

<update id="createSeq" parameterType="java.util.HashMap">
        create sequence	${tableSeq}	minvalue 1
             maxvalue 9999999999999999999999999999
             start with 1
             increment by 1
             cache 20
  </update>
  
  <update id="createIndexDate" parameterType="java.util.HashMap">
        create index IDX_CREATED_DATE_${currentDate} on ${tableName}(CREATED_DATE)
  </update>
  
  <update id="createIndexThird" parameterType="java.util.HashMap">
        create index IDX_THIRD_TRADE_ID_${currentDate} on ${tableName}(THIRD_TRADE_ID)
  </update>

==========================

<update id="createTable" parameterType="java.util.HashMap">
        CREATE TABLE ${tableName} (
             TRADE_ID NUMBER(19,0) NOT NULL,
             THIRD_TYPE VARCHAR2(4) ,
             THIRD_TRADE_ID VARCHAR2(50) ,
             TRADE_TYPE VARCHAR2(20) ,
             FROM_TYPE VARCHAR2(4) ,
             TRADE_REQUEST_CONTENT CLOB,
             TRADE_RESULT_CONTENT CLOB,
             CREATED_DATE DATE ,
             CREATED_TIME  VARCHAR2(24),
             MODIFIED_DATE DATE,
             MODIFIED_TIME VARCHAR2(24),
             CREATED_USER VARCHAR2(45),
             MODIFIED_USER VARCHAR2(45),
             IS_DELETE NUMBER(1,0),
             ASYN VARCHAR2(4),
             STATUS VARCHAR2(4),
             SERVER_IP VARCHAR2(100),
             constraint PK_YBT_THIRD_TRADE_${currentDate} primary key (TRADE_ID)
        )
  </update>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值