1. 程式人生 > >hibernate框架學習之數據查詢(HQL)helloworld

hibernate框架學習之數據查詢(HQL)helloworld

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