项目中操作日志因为数据量过大所以做分表操作。
MYBATIES 创建表
<update id="createTable" parameterType="String">
CREATE TABLE "CESHI"."ZP_MODULAR_LOG_${tableName}" (
"ID" VARCHAR2(64 BYTE) NOT NULL ,
"NAME" VARCHAR2(255 BYTE) NULL ,
"CUSTOMERID" VARCHAR2(64 BYTE) NULL ,
"CREATE_BY" VARCHAR2(64 BYTE) NULL ,
"CREATE_DATE" TIMESTAMP(6) NULL ,
"UPDATE_BY" VARCHAR2(64 BYTE) NULL ,
"UPDATE_DATE" TIMESTAMP(6) NULL ,
"REMARKS" VARCHAR2(1000 BYTE) NULL ,
"DEL_FLAG" CHAR(1 BYTE) NULL
)
</update>
注意:方法中传参
public void createTable(@Param(value = "tableName")String tableName);
按照日期或是任何规则生成
oracle查询表是否存在
<select id="getTableNameList" resultType="String">
select TABLE_NAME from user_tab_comments WHERE TABLE_NAME = 'ZP_MODULAR_LOG_${tableName}'
</select>
oracle获取表名
select TABLE_NAME from user_tab_comments WHERE TABLE_NAME LIKE 'ZP_M%'
mysql 中不同 搜索 就行
逻辑结构:查询有没有当天的表,没有创建表,有直接保存数据,根据时间获取表名,按照union并集来查询数据。