Hibernate Hql查询方法
来源:互联网 发布:蚁群算法的应用 编辑:程序博客网 时间:2024/05/20 16:13
HQL(hibernate query language)是Hibernate中特有的查询语句,与SQL的基本语法类似,主要区别在于:(1)HQL查询时可以省略select;(2)HQL查询对象及对象属性,而SQL查询数据表和表中的列;(3)HQL中关键字不区分大小写,但对象名和属性区分大小写。
一、基本查询过程。Hibernate3.x之后,都使用Query接口执行HQL查询。这一基本过程为:
(1)初始化Hibernate配置管理类Configuration。
(2)通过Configuration类实例创建Session的工厂类SessionFactory。
(3)通过SessionFactory得到Session实例。
(4)利用session建立Query,由Query.list()执行查询语句。
Configuration config=new Configuration().configure();SessionFactorysessionFactory=config.buldSessionFactory();Session session=sessionFactory.openSession();Query query=session.createQuery("from table whereid=1");List list=query.list();
二、HQL基本查询语句介绍。
1、简单查询。
hql = "from Hiddenword hw where hw.id < 10 order by hw.id desc";2、指定select子句。
hql = "select hp.id, hp.planName from HiddenwordPlan hp where hp.themeId = :p0 order by hp.id desc"; //查询对象中的指定属性,返回的集合的元素类型是Object数组,即List<Object[]>.3、高级查询语句。
(1)聚集查询。count(*)--记录的行数,max("")--返回一列中最大的值,min(),avg()--返回平均数,sum()。
hql = "SELECT COUNT(*) FROM Employee"; // 返回的结果是Long型的hql = "SELECT min(id) FROM Employee"; // 返回的结果是id属性的类型Number result = (Number) session.createQuery(hql).uniqueResult();
(2)分组查询。
(3)连接查询。
4、设置查询参数。
(1)占位符?。
hql="from Employee where id between ? nad ?"List list=session.createQuery(hql) .setParameter(0,5)//设置参数,第一个参数索引为0,设置其值为5 .setParmeter(1,15)//设置参数,第一个参数索引为1,设置其值为15 .list();
hql = "FROM Employee e WHERE id BETWEEN :idMin AND :idMax";List list = session.createQuery(hql) // .setParameter("idMax", 15) //或使用方法:SQLQuery.setInteger("idMax", 15) .setParameter("idMin", 5) // .list(); 当参数是集合的时候,一定要使用setParameterList()设置参数值hql = "FROM Employee e WHERE id IN (:ids)";List list = session.createQuery(hql)// .setParameterList("ids", new Object[] { 1, 2, 3, 5, 8, 100 })// .list();
like效果查询
hql = " from Hiddenword hw where hw.searchName like :keyword ";List list = session.createSQLQuery(hql).setString("keyword", "%" + filter.getKeyword() + "%").list();
int result = session.createQuery("UPDATE Employee e SET e.name=? WHERE id>15")// .setParameter(0, "无名氏")// .executeUpdate(); // 返回int型的结果,表示影响了多少行
转载于:http://my.oschina.net/u/1765238/blog/295834
0 0
- Hibernate Hql查询方法
- hibernate的内置方法Hql查询
- Hibernate之HQL查询基本方法
- 【Hibernate】Hibernate HQL 查询
- hibernate动态hql查询,分页查询,调用方法即可查询
- Hibernate查询语言:HQL
- hibernate查询语句--HQL
- Hibernate 查询语言(HQL)
- Hibernate查询语言:HQL
- Hibernate查询语言:HQL
- Hibernate查询语言:HQL
- Hibernate查询语言:HQL
- Hibernate查询语言:HQL
- Hibernate查询语言:HQL
- Hibernate查询语言:HQL
- hibernate查询语句--HQL
- hibernate查询语句--HQL
- Hibernate查询语句+HQL
- MyEclipse集成Tomcat启动报错
- Spring-property文件配置方法以及如何与工程分离~xml使用${}
- modelsim仿真ISE工程时出现# ** Error: (vlog-19) Failed to access library 'rtl_work' at "rtl_work
- vbMHWB控件同webbrowser一样
- poj 3641 快速幂+米勒罗宾判断大素数
- Hibernate Hql查询方法
- 数据仓库之mondrian的学习
- 7月21日Objiect的常用类本人为新手正在学习Java中把每天学的东西晚上都会在博客记录希望大神可以指点 不足在此谢过。
- 关于Scrollview嵌套ListView,使用setListViewHeightBasedOnChildren(ListView listView) ,在小米手机上崩溃问题
- 在IE8上eWebEdit编辑器失效
- Gray Code
- 【破解向】Mac版Adobe Photoshop CS6 与破解补丁下载–注册机+序列号+修改HOSTS完美可升级激活法及详细图文安装教程(强烈推荐)
- 代码重构-关于命名规范
- android 5.0 获取最近运行的应用