免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Hibernate的hql語(yǔ)句查詢

HQL是Hibernate Query Language的縮寫,提供更加豐富靈活、更為強(qiáng)大的查詢能力;HQL更接近SQL語(yǔ)句查詢語(yǔ)法。

查詢

查詢?nèi)浚ǔ志没瘮?shù)據(jù))

//  s:是別名  一定要給對(duì)象取別名,不能用*。hibernate里面沒(méi)有* String hql="select s from Student s"; //查詢出的是查詢對(duì)象Query  Query query=session.createQuery(hql);//.list 查詢出的一個(gè)list的集合  List<Student> list=query.list();  for (Student s : list) {     System.out.println(s.getName());  }

指定列名查詢?nèi)浚ǚ浅志没瘮?shù)據(jù))
有時(shí)候數(shù)據(jù)庫(kù)的數(shù)據(jù)有可能有十幾列,但是需要的只有幾列,所有就需要指定列名查詢

//查詢指定列名的-----非持久態(tài)//非持久化:因?yàn)椴樵兂龅臄?shù)據(jù)與數(shù)據(jù)庫(kù)不對(duì)應(yīng)//s.sid,s.name指定的列名      別名.列名  String hql="select s.sid,s.name from Student s";  Query query=session.createQuery(hql);  //查詢出來(lái)的是一個(gè)object數(shù)組,不是一個(gè)學(xué)生對(duì)象  List<Object[]> list = query.list();  for (Object[] objects : list) {   System.out.println(objects[0] "\t" objects[1]);  }

指定列名查詢?nèi)浚ǔ志没瘮?shù)據(jù))

//查詢指定列名的-----持久態(tài)//在數(shù)據(jù)庫(kù)有與之對(duì)應(yīng)的,在student對(duì)象中//new Student(s.sid,s.name)-------在實(shí)體類中要與之對(duì)應(yīng)的構(gòu)造函數(shù)  String hql="select new Student(s.sid,name) from Student s";  Query query=session.createQuery(hql);  //查詢出的就是Student對(duì)象  List<Student> list=query.list();  for (Student student : list) {   System.out.println(student.getName());  }

函數(shù)查詢

//函數(shù)查詢---最大值//max(別名.列名)  String hql="select max(s.sid) from Student s";  Query query=session.createQuery(hql);  //返回時(shí)是唯一的結(jié)果  int max=(Integer) query.uniqueResult();  System.out.println("最大值" max);
注:在查詢總行數(shù)的時(shí)候需要用long類型接收
占位符查詢

第一種 通過(guò)取占位符名 :自定義名

//:name   自定義的名稱 String hql="select s from Student s where s.name like :name";//設(shè)置占位符的值 setParameter(占位符名(不需要:,賦值));  沒(méi)有順序  Query query=session.createQuery(hql).setParameter("name", "%xx%");  List<Student> list = query.list();  for (Student student : list) {   System.out.println(student.getName());  }

第二種:通過(guò)?占位符

//hibernate版本在5.版本以上的要在?后面加占位符的順序//比如   s.name like ?0  and s.age>?1String hql="select s from Student s where s.name like ?0";//賦值的時(shí)候就需要有順序 從0開始  Query query=session.createQuery(hql).setParameter(0, "%x%");  List<Student> list = query.list();  for (Student student : list) {   System.out.println(student.getName());  }

分頁(yè)查詢

//查詢出全部  String hql="select s from Student s ";  int pages=1;//當(dāng)前的頁(yè)數(shù)  int pageSize=5;//一頁(yè)顯示多少行  //setMaxResults設(shè)置一頁(yè)顯示的最大數(shù) setFirstReault設(shè)置從哪一頁(yè)開始   Query query=session.createQuery(hql).setMaxResults(pageSize).setFirstResult((pages-1)*pageSize);  List<Student> list = query.list();  for (Student a : list) {   System.out.println(a.getName());  }

下面有連接查詢(我使用的是一對(duì)多的關(guān)系)

//連接查詢(全連接)//c.province.pid  c里面的province對(duì)象里面的pid與p對(duì)象里面的pid  String sql="select c from City c inner join Province p on c.province.pid=p.pid";  Query query = session.createQuery(sql);  List<City> list = query.list();  for (City c : list) {   System.out.println(c.getCname());  }

子連接

 //查詢城市帶漢的所有省份名稱  String hql="select p from Province p where p.pid in(select c.province.pid from City c where c.cname like :cname)";  Query query = session.createQuery(hql).setParameter("cname", "%漢%");  List<Province> list=query.list();  for (Province province : list) {   System.out.println(province.getPname());  }

子連接2

 //查詢城市帶湖的所有省份名稱-----一個(gè)表的查詢條件是另一個(gè)表的查詢的結(jié)果  String hql="select p from Province p where p.pid in(select c.province.pid from City c where c.cname like :cname)";  Query query = session.createQuery(hql).setParameter("cname", "%漢%");  List<Province> list=query.list();  for (Province province : list) {   System.out.println(province.getPname());  }
來(lái)源:https://www.icode9.com/content-4-321451.html
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Hibernate的個(gè)人整理筆記
Hibernate的條件查詢的幾種方式+查詢所有的記錄
Hibernate中用HQL執(zhí)行查詢
Hibernate 問(wèn)題,在執(zhí)行Query session.createQuery(hql) 報(bào)錯(cuò)誤直接跳到finally
hql語(yǔ)言條件查詢(三)
Java程序員從笨鳥到菜鳥之(六十四)細(xì)談Hibernate(十五)HQL與QBC查詢方式詳解
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服