文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>HQL及Query使用简介

HQL及Query使用简介

时间:2010-07-22  来源:CS_FB4

HQL(Hibernate Query Language)
面向对象的查询语言,与sql不同,hql中的对象名是区分大小写的(除了java和属性其它部分不区分大小写);hql中查的是对象而不是表,并且支持多态;hql主要通过Query来操作。
使用步骤:
1.写hql
String hql = "from User user where user.name = ";
hql可以是:
-from Person(Person是类名,不是表名,这句会去查Person以及它所有的子类)
-from User user where user.name = ?(user是别名,跟sql里面的别名类似)
-from User user where user.name = ? and user.birthday < ?
-from User user where user.name = :name (:name为匿名参数)
*HQL支持多态,因此“from Object”会去查所有表,因为对象都是Object的子类。

2.Query的创建:
Query q = session.createQuery(hql);

3.设置参数:
q.setString(0,name);//下标从0开始,对应设置“?”的参数
或者
q.setString("name", name); //对应设置匿名参数“:name”,推荐使用这种

4.设置分页
setFirstResult(0);//从第0行记录开始取
setMaxResults(10);//最多取多少行记录
可实现跨数据库的分页功能

5.进行查询
List<User> list = query.list(); //跟executeQuery();作用类似
*若确定查询结果只有一个,可以使用Object obj = query.uniqueResult();,这样可以跳过下面遍历数据的步骤;若结果不止一个,使用这句的话会报异常。


6.遍历数据
for(User user : list){
   System.out.println(user.getName());
}

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载