问题:
执行${}sql的时候,报标识符无效的错误
代码:
mapper.xml文件中的sql如下:
select count(0) from ${tableName} where id =${id}
mapper.java
int getCount(@Param("tableName") String tableName, @Param("id") String id);
发现执行sql的时候,id是字符串,并没有识别为字符串因此报错。
执行的时候,变成了:
select count(0) from t_test where id =111abcd
id不是字符串了,所以报错标识符无效
解决方案
最终调用 方法的时候传参手动加了单引号才执行成功
int count = mapper.getCount(tableName,"'"+id+"'");