环境: spring boot2.3 +mybatisplus 3.3.2 +数据库mysql 8
<update id="UpdateTable" parameterType="String">
CREATE TABLE ${tableName} (
`ID` bigint(20) NOT NULL AUTO_INCREMENT,
`IS_VALID` int(5) DEFAULT NULL,
`TIMES` datetime DEFAULT NULL COMMENT '时次',
`DATA_TYPE_ID` bigint(20) DEFAULT NULL,
`SITE_CHECK` int(2) DEFAULT NULL COMMENT '等级',
`FILE_NAME_O` varchar(255) DEFAULT NULL COMMENT '文件处理前名称',
`FILE_NAME_N` varchar(255) DEFAULT NULL COMMENT '文件处理后名称',
`SITE_CODE` varchar(20) DEFAULT NULL,
`ORG_ID` bigint(20) DEFAULT NULL,
`CITY_ORG_ID` bigint(20) DEFAULT NULL,
`SITE_STATUS` int(5) DEFAULT NULL COMMENT '状态',
`END_TIME` datetime DEFAULT NULL COMMENT '时间',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
</update>
<select id="existTable" parameterType="String" resultType="Integer">
select count(1)
from information_schema.TABLES
where table_name =#{tableName}
<=====mysql版本低的话可以试试下面语句,没测试,因为我上面语句是成功的==========>
select count(1)
from sys.systables
where LCASE(tablename)=#{tableName}
</select>
<update id="dropTable">
drop table ${tableName}
</update>
//创建表 返回 0也成功了,不知道是不是其实没有返回值
int UpdateTable(String tableName);
//判断表 返回 0 表示没有
int existTable(String tableName);
//删除表 没测试
int dropTable(@Param("tableName") String tableName);