HQL中的Like查询需要注意的地方
2014-11-04 14:10
204 查看
public List getOrgan(String organCode, String organName) {
String hsql;
List list;
if (organCode != null && organCode.length() > 0) {
hsql = "from Ab31 where bae002 = ? and aab061 like ?";
list = getHibernateTemplate().find(hsql, new Object[] { organCode, '%' + organName + '%' });
}
else {
hsql = "from Ab31 where aab061 like ?";
list = getHibernateTemplate().find(hsql, '%' + organName + '%');
}
return list;
}
我在HQL中like查询的时候按照SQL语法用双引号组合 "%' "+ organName + "'%" 查不到任何结果,所以必须注意这里只能使用单引号,如:'%' + organName + '%' ,多个【占位符】用[b]new Object[] { organCode,organName } 来填充[/b]
like语法简介:
% 表示任意个数的任意字符
_ 表示任意一个字符
[abcdefg] 表示里面的字符任何一个,只取一个
[^c] 表示里面的字符不包含c
[a-z] 表示区间中的任一个,如c或d等
[^a-z] 表示非区间中的任一个
escape '/' 转义符,表示/之后的字符不是特殊字符。
like '%商品/%模板%' escape '/' 可以查出 商品%模板 特殊字符
String hsql;
List list;
if (organCode != null && organCode.length() > 0) {
hsql = "from Ab31 where bae002 = ? and aab061 like ?";
list = getHibernateTemplate().find(hsql, new Object[] { organCode, '%' + organName + '%' });
}
else {
hsql = "from Ab31 where aab061 like ?";
list = getHibernateTemplate().find(hsql, '%' + organName + '%');
}
return list;
}
我在HQL中like查询的时候按照SQL语法用双引号组合 "%' "+ organName + "'%" 查不到任何结果,所以必须注意这里只能使用单引号,如:'%' + organName + '%' ,多个【占位符】用[b]new Object[] { organCode,organName } 来填充[/b]
like语法简介:
% 表示任意个数的任意字符
_ 表示任意一个字符
[abcdefg] 表示里面的字符任何一个,只取一个
[^c] 表示里面的字符不包含c
[a-z] 表示区间中的任一个,如c或d等
[^a-z] 表示非区间中的任一个
escape '/' 转义符,表示/之后的字符不是特殊字符。
like '%商品/%模板%' escape '/' 可以查出 商品%模板 特殊字符
相关文章推荐
- HQL中的Like查询需要注意的地方及详细示例
- HQL中的Like查询需要注意的地方及详细示例 .
- HQL中的Like查询需要注意的地方
- HQL中的Like查询需要注意的地方
- HQL中的Like查询需要注意的地方
- HQL中的Like查询需要注意的地方
- t-sql查询语法需要注意的地方
- sql查询语句性能问题及编写时需要注意的地方
- iBatis下使用like查询,以及需要注意的问题
- oracle查询时需要注意的地方
- Cognos Report Studio 链接查询需要注意的地方2
- 在做到3.1数据库查询时需要注意的地方
- 浅谈Hibernate中HQL查询需要注意的几点
- mysql查询所有字段(*),并且联表时需要特别注意的地方
- oracle查询时需要注意的地方
- 千万级数据的查询需要注意的地方
- SQL中Between查询日期时需要注意的地方
- 使用HQL语句查询的时候需要注意的一些问题
- 关于SharePoint中查询写法和注意的地方
- Asp程序员转Asp.net程序员需要注意的地方