hibernate框架學習之數據查詢(HQL)helloworld
阿新 • • 發佈:2018-07-23
args 配置 老師 框架 sets 測試 () eat med
package cn.itcast.h3.hql; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import cn.itcast.h3.hql.vo.StudentModel; import cn.itcast.h3.hql.vo.TeacherModel; import cn.itcast.h3.util.HibernateUtil; public class HQLApp { //測試簡單查詢 void testSimple(){ Session s= HibernateUtil.getSession(); //1.HQL String hql = "from TeacherModel"; //2.Query Query q = s.createQuery(hql); //3.獲取查詢結果 List<TeacherModel> queryList = q.list(); for(TeacherModel tm:queryList){ System.out.println(tm); } s.close(); }//鏈式格式 void testLinked(){ Session s = HibernateUtil.getSession(); //3.獲取查詢結果 List<TeacherModel> queryList = s.createQuery( "from TeacherModel where uuid <=:uuid").setFirstResult(1).setMaxResults(3).setLong("uuid", 3L).list(); for(TeacherModel tm:queryList){ System.out.println(tm); } s.close(); }//別名格式 void testAlias(){ Session s = HibernateUtil.getSession(); //1.HQL String hql = "select um.nick from TeacherModel um"; //2.Query Query q = s.createQuery(hql); //3.獲取查詢結果 List<String> queryList = q.list(); for(String tm:queryList){ System.out.println(tm); } s.close(); } //聚合函數 void testFunctoin(){ Session s = HibernateUtil.getSession(); //1.HQL String hql = "select sum(age) from StudentModel"; //2.Query Query q = s.createQuery(hql); Long avgAge = (Long) q.uniqueResult(); System.out.println(avgAge); s.close(); } //按條件查詢 void testEntityQuery(){ Session s = HibernateUtil.getSession(); //1.HQL //編號為4的老師有哪些學生 // String hql = "from StudentModel where teacher.uuid= :uuid"; // //2.Query // Query q = s.createQuery(hql); // q.setLong("uuid",4L); String hql = "from StudentModel where teacher = :teacher"; Query q = s.createQuery(hql); TeacherModel tm = new TeacherModel(); tm.setUuid(4L); // tm.setTeacherName("李若亮"); //為hql賦值對象參數 q.setEntity("teacher", tm); List<StudentModel> queryList = q.list(); for(StudentModel sm:queryList){ System.out.println(sm); } } //無條件查詢 void testNoCondQuery(){ Session s = HibernateUtil.getSession(); String hql = "from TeacherModel where teacherName = nick"; Query q = s.createQuery(hql); List<TeacherModel> queryList = q.list(); for(TeacherModel sm:queryList){ System.out.println(sm); } } //投影查詢 void testOtherQuery(){ Session s = HibernateUtil.getSession(); String hql = "select new TeacherModel(teacherName,nick) from TeacherModel"; Query q = s.createQuery(hql); List<TeacherModel> queryList = q.list(); for(TeacherModel sm:queryList){ System.out.println(sm); } } //投影查詢list void testOtherQuery2(){ Session s = HibernateUtil.getSession(); String hql = "select new list(teacherName,nick) from TeacherModel"; Query q = s.createQuery(hql); List<List<String>> queryList = q.list(); for(List<String> sm:queryList){ for(String sa:sm){ System.out.println(sa); } } } //查詢分組 void testGroupQuery(){ Session s = HibernateUtil.getSession(); String hql = "select skill,count(skill) from StudentModel group by skill"; Query q = s.createQuery(hql); List<Object[]> queryList = q.list(); for(Object[] objs:queryList){ for(Object obj:objs){ System.out.print(obj+"\t"); } System.out.println(); } } //查詢分組 void testObejcts(){ Session s = HibernateUtil.getSession(); String hql = "from java.lang.Object"; Query q = s.createQuery(hql); List<Object> queryList = q.list(); for(Object obj:queryList){ System.out.println(obj); } } //配置格式的查詢 void testConfQuery(){ Session s = HibernateUtil.getSession(); Query q = s.getNamedQuery("getAll"); q.setString("name", "李若亮"); List<Object> queryList = q.list(); for(Object obj:queryList){ System.out.println(obj); } } public static void main(String[] args) { new HQLApp().testConfQuery(); } }
hibernate框架學習之數據查詢(HQL)helloworld