MyBatis/Ibatis中#和$的区别
2016-03-30 19:56
211 查看
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.一般能用#的就别用$.
相关文章推荐
- LATEX保护视力背景色设置
- 【游戏服务端开服 一 】 单线程可以处理一对一的请求
- swift基础
- java-入门:模拟网络购物支付系统
- IOS学习之——彩票应用开发
- java学习第三天
- 有线时不需要hosts直接上谷歌
- 25 API-GUI(事件监听机制,适配器模式),Netbeans的概述和使用(模拟登陆注册GUI版)
- Mybatis 配置实体类的别名
- 合并有序链表
- 初学用HashMap输出
- mvc模式 学生管理系统
- 英伟达硬件加速解码器在 FFMPEG 中的使用
- 第4周项目5-用递归方法求解2
- 安装Bcache中遇到的问题记录
- 存储过程和函数的区别
- android 图像渲染(Shader)
- 南阳题目206-矩形的个数
- css3 字体旋转
- [linux basic基础]----套接字