ilustrar
Debido a que el contenido del registro es demasiado grande, debe cambiar el nombre de la tabla xxxx1 a: tabla xxxx1_202307 y volver a crear la tabla xxxx1 como una tabla nueva.
Lógica:
(1) Determinar si existe la tabla xxxx1_202307 renombrada
(2) Si no existe, cambiar la tabla llamada xxxx1 a la tabla xxxx1_202307
(3) Crear la tabla xxxx1
El archivo mapper.xml es el siguiente
Determinar si la tabla de la base de datos existe
<!-- 判断数据库是否存在 -->
<select id="selectTableByDatabaseExists" resultType="java.lang.String">
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME= #{tableName} ;
</select>
Modificar el nombre de la tabla a otro nombre de tabla
<update id="updateTableName">
ALTER TABLE ${tableName} RENAME ${tableName}_${date}
</update>
borrar tabla
<!-- 删除表 -->
<update id="dropTable">
drop table ${tableName}_${date}
</update>
Crear tabla de ejemplo
<update id="createUploadDataLogTable">
CREATE TABLE `upload_data_log` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增id',
`create_by` varchar(64) NOT NULL COMMENT '创建人',
`create_date` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(64) NOT NULL COMMENT '更新人',
`update_date` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=79 DEFAULT CHARSET=utf8 COMMENT='历史记录';
</update>