Hibernate ilike中转义字符的处理
来源:互联网 发布:机票低价提醒软件 编辑:程序博客网 时间:2024/06/06 12:46
不知道大家有没有碰到,还是没有这种需求。就是用like来查询,我们没有用Lucene,Compass这种全文索引的方案,我们只是简单的添加%进行like查询。用户搜索的时候就使用*和?来代表任意和一个。所以要对"%"和"_"进行转义,我们使用的是Oracle数据库。sql语句看起来可能是这样的。
这里对_进行转义了。因为用户昵称包含下划线,如果不进行转义就表示一个任意字符。有时候我们可能还需要对%进行转义。同样的方法在%前加/% 但是比起普通的like语句。多了一个声明转义符的语句。所以我们会想到这样的语句
但是这样是不管用的。
接下来可能会想到使用Hibernate3的原生sql查询,其实我们不需要这样做。我们还是使用Criteria条件查询。
这样Hibernate产生的语句就是我们想要的语句了。
上段引自:http://blog.csdn.net/newfox/archive/2006/10/16/1337445.aspx
总觉得自己被面象对象中毒太深,如果用上面的方法,就必须把数据库表的字段表写入SQL内,有点不爽,所以想方设法改造。
新建两个类:IlikeExpressionEx和RestrictionsUtils,一看就知道是对Hibernate的IlikeExpression和Restrictions的扩展,可惜Restrictions没有提供protected级别以上的构造方法,没法继承。不过也没关系,毕竟Restrictions中的方法都是静态的,于是:
之后,要用到类似于Restrictions.ilike("contactTelphone", userTel, MatchMode.ANYWHERE)的地方,只要稍作修改:
RestrictionsUtils.ilike("contactTelphone", userTel, MatchMode.ANYWHERE)即可
- Hibernate ilike中转义字符的处理
- Hibernate ilike中转义字符的处理
- Hibernate中ilike四个常量
- 字符中(\n \t)等转义字符的处理方法
- 字符中\的转义
- HTML中转义字符如何处理,常见的转义字符有哪些?
- Java中特殊字符处理(转义字符)
- 特殊转义字符的处理
- Oracle Like中对转义字符的的处理
- Oracle Like中对转义字符的的处理
- 关于vim替换中遇到特殊字符的转义处理
- JSON数据中存在单个转义字符“\”的处理
- 如何在JSF中处理转义字符?
- xml中字符的转义
- xml中字符的转义
- JavaScript 中字符的转义
- c#处理转义字符的方法
- Oracle对字符转义的处理
- poj 1990 MooFest(树状数组)
- Spring MVC中只返回数据不跳转页面
- 套接字和在标准I|O之间的转化
- 剔除集合中的不符合条件项,使用迭代器和remove函数。
- GCD 简述、使用等详解
- Hibernate ilike中转义字符的处理
- PHP URL重定向的三种方法
- iphone的尺寸以及对应开发时的宽高
- Hibernate中C3P0配置
- Python爬虫入门(6):Cookie的使用
- 数据库驱动版本影响数据写入
- Java基础白话文_何为Java静态变量,静态初始化,静态代码块?!
- 你知道吗?常用的数据挖掘分析工具Mahout和MLlib
- Hibernate的简单例子