mybatis中查询表名和使用show语句

一开始在dao中使用select注解,查询的时候表名作为入参结果报错

报错的时候在表名上加了两层单引号

// 原来错误的用法
public interface FreemarkerDao {
	@Select("show columns from #{tableName}")
	public List<Map<String, String>> showColumns(@Param("tableName")String tableName);
}

报错如下 其实是在表名外面加了两层引号

 其实这里根本原因是表名和列名都要用$的方式带入 有点类似 mybatis里的like

另外 show column这种查找元数据的语句可以使用select去执行

public interface FreemarkerDao {
	@Select("show columns from ${tableName}")
	public List<Map<String, String>> showColumns(@Param("tableName")String tableName);
}

猜你喜欢

转载自blog.csdn.net/a397525088/article/details/81089189