您的位置:首页 > 其它

Hibernate 、Hql查询和Criteria查询

2016-12-01 00:00 176 查看


HQL查询:

public Object query(String name){
Session s=null;
try{
s=HibernateSessionFactory.getSession();
//String hql="from User where name=?";
//Query q=s.createQuery(hql);
//q.setString(0, name);

String hql="from User where name=:name";
Query q=s.createQuery(hql);
q.setString("name", name);

//设置分页,使用这两个属性可以实现 分页
// 返回从什么位置开始获取数据
q.setFirstResult(0);
//最大获取条数
q.setMaxResults(10);

return q.list();
}catch(Exception e){
if(s!=null){
s.close();
}
}
return null;
}


Criteria查询:

public Object queryByName(String name){
Session s=null;
try{
s=HibernateSessionFactory.getSession();
Criteria criteria=s.createCriteria(User.class);
criteria.add(Restrictions.eq("name", name));// 等于
criteria.add(Restrictions.in("name", new String[]{name})); // in
criteria.add(Restrictions.not(Restrictions.in("name", new String[]{name}))); // not in
criteria.add(Restrictions.like("name", "%"+name+"%")); // like
criteria.add(Restrictions.gt("age", 18)); //大于
criteria.add(Restrictions.lt("age", 12)); //小于
// ......
return criteria.list();
}catch(Exception e){
if(s!=null){
s.close();
}
}
return null;
}


Criteria的其他用法:http://www.cnblogs.com/mabaishui/archive/2009/10/16/1584510.html

更多HQL查询:http://blog.csdn.net/tuke_tuke/article/details/49756313
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: