项目中在写ibatis中的sql语句时的几点注意事项:
来源:互联网 发布:数据挖掘预处理技术 编辑:程序博客网 时间:2024/06/06 01:20
Ibatis #与$区别
一个项目中在写ibatis中的sql语句时,where user_id in(#user_id_list# ), 运行时总是不行,后来上网查了查,才知道这里不该用#,而应该用$,随即查了下#与$的区别.
总结如下:
1.#是把传入的数据当作字符串,如#user_id_list#传入的是1,2,则sql语句生成是这样,in ('1,2') ,当然不可以
2.$传入的数据直接生成在sql里,如#user_id_list#传入的是1,2,则sql语句生成是这样,in(1,2) 这就对了.
3.#方式能够很大程度防止sql注入.
4.$方式无法方式sql注入.
5.$方式一般用于传入数据库对象.例如传入表名.
6.一般能用#的就别用$. 直观的说
#str# 出来的效果是 'str'
$str$ 出来的效果是 str
另外 ##只能用在特定的几个地方 $$可以用在任何地方 比如 order by $str$
<![CDATA[ sql语句 ]]> 不用解析
在mapper文件中写sql语句时,为避免不必要的麻烦(如<等),建议使用<![CDATA[ ]]>来标记不应由xml解析器进行解析的文本数据,由<![CDATA[ ]]>包裹的所有的内容都会被解析器忽略 <![CDATA[ sql语句 ]]>
0 0
- 项目中在写ibatis中的sql语句时的几点注意事项:
- AngularJS项目中使用中的几点注意事项
- ibatis中使用in写SQL语句
- 在CBO下写SQL语句的注意事项
- ibatis中写SQL语句时使用in遇到的问题描述
- 关于C++语句的几点注意事项
- 在ibatis中写的一段sql脚本
- 在ibatis中打印sql语句
- sap归档项目的几点注意事项
- ibatis 在控制台上写sql语句 log4j配置
- ibatis配置文件写sql语句
- ibatis在debug时打印完整的SQL语句
- ibatis在debug时打印完整的SQL语句
- ibatis在debug时打印完整的SQL语句
- MasterPage中使用的几点注意事项
- ibatis中sql in语句的配置
- ibatis中显示执行的SQL语句
- sql 语句中的注意事项
- DLX (精确覆盖) ZOJ 3209 Treasure Map
- 使用Python进行Web数据处理
- 进一步认识golang中的并发
- poj 1298 The Hardest Problem Ever
- C++11的几个变化
- 项目中在写ibatis中的sql语句时的几点注意事项:
- 巧用python解决实际问题
- Ant学习总结
- HDU 1234 开门人和关门人
- 整理的一些知识点
- python join用法
- aspx和aspx.cs文件的区别与联系
- Ant学习总结
- android SpannableString使用详解