Hibernate中的Query一些基本用法
2012-12-27 22:37
363 查看
/*
** * 添加 */ public void save(Stu stu){ try { tran=this.GetSession().beginTransaction(); this.GetSession().save(stu); tran.commit(); } catch (HibernateException e) { throw e; }finally{ this.CloseSession(); } } /** * 使用HQL全查询 */ public List getallbyHQL(){ List arr=null; try { String hql="from Stu"; Query query=this.GetSession().createQuery(hql); arr=query.list(); } catch (HibernateException e) { throw e; }finally{ this.CloseSession(); } return arr; } /** * 根据主键查询 */ public Stu getbyID(int id){ Stu stu=null; try { stu=(Stu) this.GetSession().get(Stu.class, id); } catch (HibernateException e) { throw e; }finally{ this.CloseSession(); } return stu; } /** * 根据对象属性查询(使用Query) */ public List getbyPropertyQuery(String name){ List arr=null; try { //这里不能像SQL语一样select * from Stu where SName=:name,这是不对的。 // Query query=this.GetSession().createQuery("from Stu where SName=:name"); // query.setString("name", name); //或者 Query query=this.GetSession().createQuery("from Stu where SName=?"); query.setString(0, name); arr=query.list(); } catch (HibernateException e) { throw e; }finally{ this.CloseSession(); } return arr; } /** * 根据对象属性查询(使用Criteria) */ public List getbyPropertyCriteria(String name){ List arr=null; try { Criteria cri=this.GetSession().createCriteria(Stu.class); Criterion c1=Expression.eq("SName", name); cri.add(c1); arr=cri.list(); } catch (HibernateException e) { throw e; }finally{ this.CloseSession(); } return arr; } /** * 查询部分属性 */ public List getProperty(){ List arr=new ArrayList(); try { String hql="select s.SName,s.SSex from Stu as s"; Query query=this.GetSession().createQuery(hql); List list=query.list(); Iterator iter=list.iterator(); while(iter.hasNext()){ Object[] obj=(Object[]) iter.next(); Stu s=new Stu(); s.setSName(obj[0].toString()); s.setSSex(obj[1].toString()); arr.add(s); } } catch (HibernateException e) { this.CloseSession(); } return arr; } /** * 查询一个属性 */ public List getoneProperty(){ List arr=new ArrayList(); try { String hql="select s.SName from Stu as s"; Query query=this.GetSession().createQuery(hql); Iterator iter=query.iterate(); while(iter.hasNext()){ Object obj=(Object) iter.next(); Stu s=new Stu(); s.setSName(obj.toString()); arr.add(s); } } catch (HibernateException e) { this.CloseSession(); } return arr; } /** *查询一个对象一个属性值 */ public Object getonlyProprotyValue(int s_id){ Object obj=null; try { String hql="select s.SName from Stu as s where s.SId=?"; Query query=this.GetSession().createQuery(hql); query.setInteger(0, s_id); obj=query.uniqueResult(); } catch (HibernateException e) { throw e; }finally{ this.CloseSession(); } return obj; } /** * SQL查询 */ public List getallBYSQL(){ List arr=null; try { String sql="select {c.*} from stu as c"; SQLQuery sqlquery=this.GetSession().createSQLQuery(sql); sqlquery.addEntity("c",Stu.class); arr=sqlquery.list(); } catch (HibernateException e) { throw e; }finally{ this.CloseSession(); } return arr; } /** * 根据对象查询 */ public List getallByObject(Stu s){ List arr=null; try { String hql="from Stu as s where s=:stuentity"; //或者 //String hql="from Stu as s where s.SId=:stuentity"; Query query=this.GetSession().createQuery(hql); query.setEntity("stuentity", s); arr=query.list(); } catch (HibernateException e) { throw e; }finally{ this.CloseSession(); } return arr; } /** * 模糊查询 */ public List getallQueryLike(String name){ List arr=null; try { String hql="from Stu as s where s.SName like :name"; Query query=this.GetSession().createQuery(hql); query.setString("name", "%"+name+"%"); //不能 //query.setString("name", "'%"+name+"%'"); arr=query.list(); } catch (HibernateException e) { throw e; }finally{ this.CloseSession(); } return arr; } /** * 统计函数 */ public int CountStu(){ int count=0; try { String hql="select count(*) from Stu"; Query query=this.GetSession().createQuery(hql); count=(Integer) query.uniqueResult(); } catch (HibernateException e) { throw e; }finally{ this.CloseSession(); } return count; } /** * 条件统计 */ public int CountByWhere(String sex){ int count=0; try { Query query=this.GetSession().createQuery("select count(*) from Stu where SSex=:sex"); query.setString("sex", sex); count=(Integer)query.uniqueResult(); } catch (HibernateException e) { throw e; }finally{ this.CloseSession(); } return count; } /** * 统计平均值 */ public float VagAge(){ float vag=0; try { Query query=this.GetSession().createQuery("select avg(SAge) from Stu"); vag=(Float)query.uniqueResult(); } catch (HibernateException e) { throw e; }finally{ this.CloseSession(); } return vag; } /** * 求和函数 */ public int sumage(){ int sum=0; try { Query query=this.GetSession().createQuery("select sum(SAge) from Stu"); sum=(Integer)query.uniqueResult(); } catch (HibernateException e) { throw e; }finally{ this.CloseSession(); } return sum; } |
相关文章推荐
- Hibernate中的Query一些基本用法
- Hibernate中的Query一些基本用法
- (转)Hibernate中的Query一些基本用法
- Hibernate中的Query一些基本用法
- Hibernate中的Query一些基本用法
- Hibernate的一些基本用法
- bernate中的Query一些基本用法
- 第5章 HIbernate的基本用法 5.3Hibernate的体系结构
- Git 命令的一些基本用法
- hibernate框架基本的作用及用法【1】
- python 中一些基本函数的用法
- hibernate 的createSQLQuery的几种用法
- java中的 FileWriter类 和 FileReader类的一些基本用法
- 第5章 Hibernate的基本用法 5.1 ORM和Hibernate
- JQuery Ajax一些基本用法
- UITableView的一些基本用法
- jQuery UI的一些基本用法
- android中handler的一些总结以及使用(一)之handler的基本用法
- Lamamda和Linq的一些基本用法
- hibernate 的createSQLQuery的几种用法(转)