现在的位置: 首页 > 综合 > 正文

ibatis 中#、$的区别

2017年11月20日 ⁄ 综合 ⁄ 共 480字 ⁄ 字号 评论关闭

 

在Ibatis中我们使用SqlMap进行Sql查询时需要引用参数,在参数引用中遇到的符号#和$之间的区分为,#可以进行与编译,进行类型匹配,而$不进行数据类型匹配,例如:

Sql代码
复制代码
 收藏代码
  1. select * from table where id = #id#   

其中如果字段id为字符型,那么#id#表示的就是'id',字符类型,如果id为整型,那么#id#就是id,整型。

Sql代码
复制代码
 收藏代码
  1. select * from table where id = $id$   

如果字段id为整型,Sql语句就不会出错,但是如果字段id为字符型,那么Sql语句应该写成 :

Sql代码
复制代码
 收藏代码
  1. select * from table where id = '$id$'  

$方式一般用于传入数据库对象.例如传入表名. 如果传入动态sql或条件则注意防sql注入
#方式一般用于传入插入/更新的值或查询/删除的where条件

抱歉!评论已关闭.