Mybatis中$和#的注入使得在控制台写的sql语句和数据库写的语句查询结果不一致。

来源:互联网 发布:站桩 知乎 编辑:程序博客网 时间:2024/05/16 18:40

在使用注入参数的过程中

如果使用高级查询if 标签<if test="id!=null"> order by  #{0} <if> 

当注入这个语句时候,

这个语句是不会被识别的,

原因是因为,#是防止注入的,

在if标签中有sql语句,

所有注入的时候即使在控制台打印了sql语句  但是实际数据库是没有执行到的


解决:使用$符号可以注入sql语句 就可以识别到了。<if test="id!=null"> order by  ${0} <if> 


阅读全文
0 0
原创粉丝点击