Mybatis 查询前判断表是否存在
CommonMapper.java 接口方式
@Mapper @Component public interface CommonMapper { /** * 判断表是否存在 * * @param tableName 表名称 * @return 结果 * @author yunnuo */ @Select(" SELECT COUNT(*) as count FROM information_schema.TABLES WHERE table_name = #{tableName}") Integer existsTable(@Param("tableName") String tableName); }
xml方式
<!-- 判断表是否存在 --><select id="existsTable" parameterType="string" resultType="java.lang.Integer"> SELECT COUNT(*) as count FROM information_schema.TABLES WHERE table_name = #{tableName} </select>
测试
@Test public void test3(){ Integer integer = commonMapper.existsTable("data_20220601"); System.out.println(integer); }
1表示存在,0表示不存在,在做动态表名前要做表存在校验,否则可能会报Table 'xxxx' doesn't exist!
学习时的痛苦是暂时的 未学到的痛苦是终生的
作者:卷心菜的奇妙历险
本文版权归作者和博客园共有,遵循 CC 4.0 BY-SA 版权协议,欢迎转载 转载请附上原文出处链接和本声明,否则保留追究法律责任的权利。