Hibernate查询方式:HQL和Criteria

1.HQL查询方法一般使用的比较多,一般是通过query方式来查询的.例子如下:
/**
* 根据名字来查询
*
* @param name
*/
static void query(String name) {
Session s = null;
try{
s = HibernateUtil.getSession();
// String hql = "from User as user where user.name=?";
String hql = "from User as user where user.name=:name";//采用这种方式的时候,就用setString(String,String)
Query query = s.createQuery(hql);
query.setString("name", name);
List list = query.list();
//查询从某一条开始到某一条的分页
query.setFirstResult(10);
query.setMaxResults(20);
for(int i = 0;i<list.size();i++){
System.out.println(list.get(i));
}
}finally{
if(s!=null){
s.close();
}
}
}

2.而Criteria是一种比HQL更面向对象的查询方式:

创建方式如下:Criteria crit = session.createCriteria(Object.class);

crit.add(Restrictions.eqProperty(a,b));
:
static void query(String name) {
Session s = null;
try{
s = HibernateUtil.getSession();
Criteria c = s.createCriteria(User.class);
c.add(Restrictions.eq("name", name));
c.add(Restrictions.gt("birthday", new Date()));
List list = c.list();
for(int i = 0;i<list.size();i++){
System.out.println(list.get(i));
}
}finally{
if(s!=null){
s.close();
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值