HQLの構文002

1、

パッケージcn.jbit.hibernatedemo.test。

インポートするjava.util.Iterator; 
輸入はjava.util.List; 

輸入org.hibernate *。;  輸入org.junit.Test; 
 輸入cn.jbit.hibernatedemo.dao.HibernateUtil; 輸入cn.jbit.hibernatedemo.entity.DeptSalary; パブリッククラス。例:{/ ** *统计部门个数* / @Testます。public void egDept(){セッションセッション= nullを試す{//获取セッションsession = HibernateUtil.currentSession(); ロングカウント数= (ロング)session.createQuery( "SELECT COUNT(*)部門dから" ).uniqueResult(); System.out.println(カウント)。}キャッチ(例外e){e.printStackTrace(); } 最後に{//关闭セッションHibernateUtil.closeSession()。。}} / ** *统计员工工资* / @Test公共ボイドegEmp(){セッションセッション= NULL ; 試す{//获取セッションsession = HibernateUtil.currentSession(); ダブルsalarySum = (ダブル)session.createQuery( "のemp eから合計(e.salary)を選択" ).uniqueResult(); System.out.println(salarySum)。}キャッチ(例外e){e.printStackTrace(); }最後に{//关闭セッションHibernateUtil.closeSession()。}} / ** *统计员工最低工资* /。@Test公共ボイドegEmpMinSalary(){セッションセッション= NULL ; 試す{//获取セッションsession = HibernateUtil.currentSession(); ダブル給与=(ダブル)session.createQuery( "emp表Eから分(e.salary)を選択" ).uniqueResult(); System.out.println(給料)}キャッチ(例外e){e.printStackTrace(); }最後に{//关闭セッションHibernateUtil.closeSession()。}} / ** *统计员工最高工资* /。@Test公共ボイドegEmpMaxSalary(){セッションセッション= NULL ; 試す{//获取セッションsession = HibernateUtil.currentSession(); ダブル給与= (ダブル)session.createQuery( "のemp eから最大(e.salary)を選択" ).uniqueResult(); System.out.println(給料)}キャッチ(例外e){e.printStackTrace(); }最後に{//关闭セッションHibernateUtil.closeSession()。}} / ** *统计员工平均工资。* / @Testます。public voidegEmpAvgSalary(){セッションセッション= NULL ; 試す{//获取セッションsession = HibernateUtil.currentSession(); ダブル給与= (ダブル)session.createQuery( "のemp eからAVG(e.salary)を選択" ).uniqueResult(); System.out.println(給料)}キャッチ(例外e){e.printStackTrace(); }最後に{//关闭セッションHibernateUtil.closeSession()。。}} / ** *统计最低工资、最高工资以及平均工资* / @Test公共ボイドegEmpSalary(){セッションセッション= NULL ; 試す{//获取セッションsession = HibernateUtil.currentSession(); オブジェクト[] salarys = "emp表から選択分(給与)、MAX(給与)、AVG(給与)"(オブジェクト[])session.createQuery().UniqueResult();のSystem.outの.println(salarys [0] + "" + salarys + "" + salarys [2 [1] ]);}キャッチ(例外E){e.printStackTrace();}最終的には{//セッション閉じます)HibernateUtil.closeSessionを(;}} / ** *スタッフの位置の数を数えます。* / @Testます。public void egJobEmp(){セッションセッション= nullを、試してみる{//セッションを取得=セッションHibernateUtil.currentSession();オブジェクトCOUNT = session.createQuery( "emp表からSELECT COUNT(DISTINCTジョブ)" ).uniqueResult( );のSystem.out.println(count.getClass()のgetName());.}キャッチ(例外E){e.printStackTrace();}最後に{//セッションを閉じHibernateUtil.closeSession();}} / ** *統計スタッフの位置の数に応じました。* / @Testます。public voidEG1(){セッションセッション= NULL ; 試す{//获取セッションsession = HibernateUtil.currentSession(); 一覧リスト= <[]オブジェクト> session.createQuery( "ジョブを選択し、ジョブによってのemp E群から(e)をカウント" )の.list(); (オブジェクト[] OBJ:リスト)のSystem.out.println(OBJ [0] + "" + OBJ [1 ])。}キャッチ(例外e){e.printStackTrace(); }最後に{//关闭セッションHibernateUtil.closeSession()。}} / ** *统计各个部门的平均工资* / @Test公共ボイドEG2(){セッションセッション= NULL ; 試す{//获取セッションsession = HibernateUtil.currentSession(); 反復子は、= <[] object> .createQuery( "選択e.dept.deptNameによってEmpのE群からe.dept.deptName、平均(e.salary)"セッションを。).LIST()反復子(); オブジェクト[] OBJ = NULL ; 一方、(it.hasNext()){OBJ = it.next()。System.out.println(OBJ [0] + "" + OBJ [1 ])。}}キャッチ(例外e){e.printStackTrace(); }最後に{//关闭セッションHibernateUtil.closeSession()。}} / ** *统计各个职位的最低工资和最高工资* / @Test公共ボイドEG3(){セッションセッション= NULL ; 試す{//获取セッションsession = HibernateUtil.currentSession(); 反復子<OBJECT []>それは= セッション.createQuery( "ジョブを選択し、分(給与)、ジョブによってEmpのグループからMAX(給与)" ).LIST()をイテレータ()。オブジェクト[] OBJ = NULL ; 一方、(it.hasNext()){OBJ = it.next()。System.out.println(OBJ [0] + "" + OBJ [1] + ""]);}}キャッチ(例外E){e.printStackTrace();}最後に{//セッションを閉じHibernateUtil.closeSession();}} / ** *統計部門の平均給与の部署名$ 4,000、印刷部門名、部門の平均賃金* / @Testます。public void EG4(){セッションセッションは=ヌル;試み{//セッションを取得=セッションHibernateUtil.currentSession();イテレータは、<オブジェクト[]> ITは= セッション.createQuery(「SELECT Eを.dept.deptName、AVGのEmpから(e.salary) "+" e.dept.deptNameによってE基を有するAVG(e.salary)> 4000」).LIST()イテレータ();オブジェクト[] = NULL OBJ ;一方(it.hasNext()){OBJ = it.next();のSystem.out.println(OBJ [0] + "" + OBJ [1 ]);}}キャッチ(例外E){e.printStackTrace ();}最後に{//閉じるセッションHibernateUtil.closeSession();部門名}} / ** *平均給与$ 4,000の印刷部門名、平均賃金部門、包装* / JavaBeanのクエリの結果を使用するよりも統計部門@Testます。public void eg4JavaBean(){セッションセッションヌル= ;試み{//セッションを取得=セッションHibernateUtil.currentSession();イテレータ<DeptSalary> = セッション.createQueryは(「新新cn.jbit.hibernatedemo.entity.DeptSalary(e.dept.deptName、AVG(E.を選択給料))AVG(e.salary)を有するe.dept.deptNameによってemp表から"+" Eグループ> 4000」).LIST()イテレータ();. deptSalary deptSalary = NULL ;一方(it.hasNext()){ = deptSalary it.next();のSystem.out.println(deptSalary.getDeptName()+ "" + deptSalary.getAvgSalary());}}キャッチ(例外E){e.printStackTrace();最終的には} {//セッションを閉じますHibernateUtil.closeSession(); }}}

 

おすすめ

転載: www.cnblogs.com/syjp/p/11078764.html