读书人

Hibernate检索模式简单总结

发布时间: 2012-08-22 09:50:35 作者: rapoo

Hibernate检索方式简单总结

查询名字是Tom,年龄大于岁的用户按名字升序排列,检索的结果最多每一页显示3条数据

1)HQL检索方式
这是HQL使用最广的一种检索方式
//创建Query对象
Query query = session.createQuery("from User user where user.name =: userName"
+ "and user.age >: userAge order by user.name");
//设置分页
query.setFirstResult(0);//从0对象开始检索
query.setMaxResult(3);

//设置查询条件的方式一
query.setString("userName" ,"Tom");
query.setString("userAge" ,10);

//设置查询条件的方式二
query.setString(0 ,"Tom");
query.setString(1 ,18);




//执行查询语句,返回查询结果
List res = query.list();
2)QBC检索方式
第一步,创建Criteria对象
Criteria criteria = session.createCriteria(User.class);

//设置查询条件
Criterion c1 = Restrictions.eq("name","S%");
Criterion c2 = Restrictions.gt("age",18);

//添加查询条件
criteria.add(c1);
criteria.add(c2);

criteria.setFirstResult(0);
query.setMaxResult(3);
//设置按名字升序排列
criteria.addOrder(Order.asc("name"));

//执行查询语句,返回查询结果
List res = criteria.list();


3)本地SQL检索方式
//创建Query对象,注意里面查询的是表名和列名,不再是对象名,大写加以区分
Query query = session.createSQLQuery("select * from USER where NAME =: userName"
+ "and AGE >: userAge order by NAME");
query.setFirstResult(0);//从0对象开始检索
query.setMaxResult(3);


//设置查询条件的方式一
query.setString("userName" ,"Tom");
query.setString("userAge" ,18);

//执行查询语句,返回查询结果
List res = query.list();

读书人网 >编程

热点推荐