ibatis的#和$的区别、like、in的用法

转载 2011年01月14日 10:50:00

# 会根据不同类型而生产字符串,如 String 类型 : aa ---> 'aa'
$ 表示原生类型,如 String 类型 : aa ---> aa

在做in,like 操作时候要特别注意

 

1.#是把传入的数据当作字符串,如#field#传入的是id,则sql语句生成是这样,order by "id",这当然会报错..

2.$传入的数据直接生成在sql里,如#field#传入的是id,则sql语句生成是这样,order by id, 这就对了.

3.#方式能够很大程度防止sql注入.

4.$方式无法方式sql注入.

5.$方式一般用于传入数据库对象.例如传入表名.

6.一般能用#的就别用$.

oracle的like用法

select * from table where column like '%关键字%'

ibatis用法 like '%$keyword$%'或者 like ‘%'#keyword#'%’

相关文章推荐

[数据库与SQL] - No.1 in、exists、all、any用法与区别

在使用数据库SQL中,当情况比较复杂时,我们需要使用嵌套查询。在嵌套查询是,我们经常会使用到exists、in、any、all等,在这里我就来辨析一下其之前的区别和关系 exists和in: ex...

sql中in,exists的用法与区别

本文章转载自:http://www.cnblogs.com/mytechblog/articles/2105785.html exists : 强调的是是否返回结果集,不要求知道返回什么, 比如...

javascript 循环语句 while、do-while、for-in、for用法区别

前两个唯一的差别就是循环和判断的顺序不同,do-while比while多循环一次,我就不举例了。  for循环相信大家也熟的不能再熟了,我们就看for-in这一句。  这个其实是针对数组的,js中数组...

java中的四大输入:System.in,Scanner,InputStreamReader,BufferesReader的用法与区别【改】

Java中获取键盘输入值的方法 以前写算法都是C/C++写的,现在用Java写,虽然算法是独立于语言的,但是Java从键盘获取输入确实有些不一样。在C/C++中我们可以用scanf和cin来获取用户从...

iBATIS教程之like语句的写法浅析

iBatis 开发指南告诉我们,当 Person 对象的 name 属性不为 null 时启用 name 查询条件在映射文件 person.xml 中的配置为 select id="getP...

iBatis 中 Like 的写法实现模糊查询

iBatis 开发指南告诉我们,当 Person 对象的 name 属性不为 null 时启用 name 查询条件在映射文件 person.xml 中的配置为 select id...
  • CNPJX
  • CNPJX
  • 2011年08月15日 09:05
  • 9321

ibatis模糊查询(like)

iBatis 开发指南告诉我们,当 Person 对象的 name 属性不为 null 时启用 name 查询条件在映射文件 person.xml 中的配置为 select id="getPer...

关于 mysql 中 find_in_set 与 like 查询的一些思考

前段时间项目中,使用到了mysql中的find_in_set 查询,因为原先没有使用过此方法,故进行了些许研究。 如mysql官方文档所说,find_in_set (str ,  strlist) 函...

SQL基础——LIKE, BETWEEN, IN, NOT

LIKE, BETWEEN, IN和NOT都是SQL语句中用来匹配条件的关键字,它们能够帮助用户更方便地查找出需要的数据。 下面用实例展示如何使用这几个关键字来查询数据。 数据库表: Player...

PostgreSQL customize inet_aton, inet_ntoa function in text type like MySQL.

PostgreSQL的类型支持比较强大, 除了主流的文本, 日期, 时间, 数字, 还支持JSON, 货币, 网络, 几何, 枚举, 数组, 范围, XML, 布尔, 全文检索, 比特, 复合等数据类...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ibatis的#和$的区别、like、in的用法
举报原因:
原因补充:

(最多只允许输入30个字)