Mybatis中$和#的注入使得在控制台写的sql语句和数据库写的语句查询结果不一致。
2017-12-14 19:58
731 查看
在使用注入参数的过程中
如果使用高级查询if 标签<if test="id!=null"> order by #{0} <if>
当注入这个语句时候,
这个语句是不会被识别的,
原因是因为,#是防止注入的,
在if标签中有sql语句,
所有注入的时候即使在控制台打印了sql语句 但是实际数据库是没有执行到的
解决:使用$符号可以注入sql语句 就可以识别到了。<if test="id!=null"> order by ${0} <if>
如果使用高级查询if 标签<if test="id!=null"> order by #{0} <if>
当注入这个语句时候,
这个语句是不会被识别的,
原因是因为,#是防止注入的,
在if标签中有sql语句,
所有注入的时候即使在控制台打印了sql语句 但是实际数据库是没有执行到的
解决:使用$符号可以注入sql语句 就可以识别到了。<if test="id!=null"> order by ${0} <if>
相关文章推荐
- mybatis执行查询语句查询不到结果,控制台输出sql语句复制到数据库中能查到数据
- mybatis执行查询语句查询不到结果,控制台输出sql语句复制到数据库中能查到数据
- mybatis执行查询语句查询不到结果,控制台输出sql语句复制到数据库中能查到数据
- 同一条SQL语句在程序查询的结果和数据库查询的结果不一致
- s2sh向数据库插入数据,控制台有打印sql语句,数据库查询不到数据问题
- 浅析SQL查询语句未显式指定排序方式,无法保证同样的查询每次排序结果都一致的原因
- sql语句查询结果合并union all用法_数据库技巧
- Mybatis程序中执行和单独执行同一条SQL出现结果不一致(部分数据没有查询出来)
- MyBatis联合主键结果集与SQL查询结果不一致的问题
- sql语句查询结果合并union all用法_数据库技巧
- Mybatis事务下解决多次select语句查询结果一致的问题+案列(获取全局序列ID)
- 浅析SQL查询语句未显式指定排序方式,无法保证同样的查询每次排序结果都一致的原因
- TP 查询时候标题带有&的字符,查询没有结果!打出SQL语句去数据库查,返回有结果!
- mybatis的分页插件pagehelper-fix使用、数据库分页查询模板sql、总结mysql与oracle语句的区别
- mybatis查询,sql语句没问题但是查不出结果
- Linq查询结果集比对应的sql语句查询结果集不一致,存在重复结果
- s2sh向数据库插入数据,控制台有打印sql语句,数据库查询不到数据问题
- 问题:mybatis查询无结果集,但数据库执行相同的sql有结果集
- mybatis查询入门 (log4j控制台sql语句日记输出)
- mybatis如何直接 执行传入的任意sql语句 并按照顺序取出查询的结果集