MyBatis/Ibatis中#和$的区别
2016-03-15 19:29
232 查看
1. #将传入的数据都当成一个字符串,即会对自动传入的数据加一个双引号。
如:对于sql语句order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id"。
2. $将传入的数据直接显示生成在sql中,不会添加引号。
如:对于sql语句order by $user_id$,如果传入的值是111,那么解析成sql时的值为order by 111, 如果传入的值是id,则解析成的sql为order by id.
3. #方式能够很大程度防止sql注入。
4.$方式无法防止Sql注入。
5.$方式一般用于传入数据库对象,例如传入表名.
6.一般能用#的就别用$.
如:对于sql语句order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id"。
2. $将传入的数据直接显示生成在sql中,不会添加引号。
如:对于sql语句order by $user_id$,如果传入的值是111,那么解析成sql时的值为order by 111, 如果传入的值是id,则解析成的sql为order by id.
3. #方式能够很大程度防止sql注入。
4.$方式无法防止Sql注入。
5.$方式一般用于传入数据库对象,例如传入表名.
6.一般能用#的就别用$.
相关文章推荐
- JavaScript节点属性
- raknet unity3d
- 简述UIViewControl之间的七种传值方式
- Android系统开发之一:添加系统级服务方法
- FFT,NTT学习笔记
- python execfile()和locals()函数
- 第3周项目3—穷举法解决组合问题(百钱买百鸡)
- ARM处理器的寄存器,ARM与Thumb状态,7种运行模式
- shell之dhcp的配置介绍
- poj 1125 Stockbroker Grapevine
- 《Linux内核分析》第四周 扒开系统调用的“三层皮”
- 《Linux内核》课本读书笔记 第一章、第二章
- 时间的追念
- Circle 2 --- 增长的对象
- 第二周项目四-用循环求
- 玩游戏学前端——猜颜色、选择器
- STL容器用法速查表:list,vector,stack,queue,deque,priority_queue,set,map
- Java Gradle入门指南之简介、安装与任务管理
- sql case when then else end as用法
- B3log部署文档