HQL中的Like查询需要注意的地方及详细示例
来源:互联网 发布:淘宝哪种推广方法最好 编辑:程序博客网 时间:2024/06/05 14:45
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 + '%' ,多个【占位符】用new Object[] { organCode, organName } 来填充
like语法简介:
% 表示任意个数的任意字符
_ 表示任意一个字符
[abcdefg] 表示里面的字符任何一个,只取一个
[^c] 表示里面的字符不包含c
[a-z] 表示区间中的任一个,如c或d等
[^a-z] 表示非区间中的任一个
escape '/' 转义符,表示/之后的字符不是特殊字符。
like '%商品/%模板%' escape '/' 可以查出 商品%模板 特殊字符。
详细示例如下:
public Page getUserByCondition(User user, int pageNo, int pageSize, Boolean element) {StringBuffer hql = new StringBuffer();hql.append("select user from User user where 1=1 ");if(!StringUtils.isNullOrEmpty(user.getExpert_name()) && !"-1".equals(user.getExpert_name())){hql.append(" realName like :realName ");}if(!StringUtils.isNullOrEmpty(user.getExpert_level()) && !"-1".equals(user.getExpert_level())){hql.append(" expertRank = :expertRank ");}if(!StringUtils.isNullOrEmpty(user.getExpert_level()) && !"-1".equals(user.getExpert_level())){hql.append(" expertRank = :expertRank ");}Map<String,Object> param = new HashMap<String, Object>();param.put("realName", '%' + user.getExpert_name() + '%');param.put("expertRank", user.getExpert_level() );return super.pagedQuery(hql.toString(), pageNo, pageSize, param);}
- HQL中的Like查询需要注意的地方及详细示例
- HQL中的Like查询需要注意的地方及详细示例 .
- HQL中的Like查询需要注意的地方
- HQL中的Like查询需要注意的地方
- 对象及原型中的几个需要注意的地方
- oracle查询时需要注意的地方
- 线程相关及需要注意的地方
- OGRE教程中的需要注意的地方
- Java中的一些需要注意的地方
- OGRE教程中的需要注意的地方
- OGRE教程中的需要注意的地方
- RPC 使用中的需要注意的地方
- sql查询语句性能问题及编写时需要注意的地方
- iBatis下使用like查询,以及需要注意的问题
- 需要注意的地方
- 需要注意的地方
- 需要注意的地方
- 浅谈Hibernate中HQL查询需要注意的几点
- 用setsockopt()来控制recv()与send()的超时
- uva 10161 Ant on a Chessboard 蛇形矩阵 简单数学题
- 【xinfanqie】苹果电脑iso系统要如何安装win7驱动
- Android: BitmapFactory.decodeResource BitmapFactory.decodeStream区别
- 建立物化視圖
- HQL中的Like查询需要注意的地方及详细示例
- MySQL多主同步 负载均衡(转) .
- iOS 几何变换
- AlertDialog更改标题颜色,字体等
- Android Process bar的自定义进度条 使用9 patch导致直接无法显示进度的问题
- hibernate对象的三种状态
- MySQL 多主一从备份 .
- JVM 发生native heap溢出问题
- Eclipse 如何重新编译程序