日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hibernate中hql的基本查询、条件查询、排序插叙、分页查询、投影查询

發布時間:2023/12/1 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hibernate中hql的基本查询、条件查询、排序插叙、分页查询、投影查询 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

hql語句和sql語句不同,當我們使用hql語句查詢時,要把SQL語句的表寫成 實體類的類名,字段寫成實體類的屬性

  • 基本查詢:查出數據庫中所有的數據
    代碼如下:
  • //基本查詢,查詢所有的實體@Testpublic void test1() {//獲取當前線程的sessionSession s = HibernateUtils.getCurrentSession();Transaction t = s.beginTransaction();Query query = s.createQuery("from Customer");List list = query.list();for(Object o : list) {System.out.println(o);}t.commit();}

    我們應當注意這段代碼:

    Query query = s.createQuery("from Customer");

    執行的hql語句是:from Customer
    但如果我們使用sql,語句是:

    select * from cst_customer(cst_customer是我數據庫中的表名)

    其中我們可以發現,使用hql只要把sql的表名換成實體類名就可以了,而且 select * 都可以不要

  • 條件查詢:按條件查詢出數據庫的數據
    代碼如下:
  • //條件查詢@Testpublic void test2() {Session s = HibernateUtils.getCurrentSession();Transaction t = s.beginTransaction();//Query query = s.createQuery("from Customer where custName = ?");//取別名Query query = s.createQuery("from Customer where custName = :custName");//query.setString(0, "23");//query.setParameter(0, "23");query.setParameter("custName", "23");List list = query.list();for(Object o : list) {System.out.println(o);}t.commit();}

    當我們使用條件查詢時,我們不僅要把表名換成實體類,還要把數據庫的列名換成屬性名:

    from Customer where custName = ?

    然后使用下面代碼設置參數:

    query.setString(0, "23");

    可以發現我把這些代碼注釋掉了,這些方法不夠具體,我們可以使用別名設置參數,如下代碼

    from Customer where custName = :custName

    :后面的是別名,我們給參數賦值時可以使用一下代碼就不用考慮具體參數的類型了

    query.setParameter("custName", "23");
  • 排序插敘:order by
  • //排序查詢@Testpublic void test3() {Session s = HibernateUtils.getCurrentSession();Transaction t = s.beginTransaction();//根據custId排序Query query = s.createQuery("from Customer order by custId");List list = query.list();for(Object o : list) {System.out.println(o);}t.commit();}
  • 分頁查詢:使用 order by ,在后面加上屬性名就可以了
  • @Testpublic void test4() {Session s = HibernateUtils.getCurrentSession();Transaction t = s.beginTransaction();//查詢全部數據,每頁顯示兩條數據Query query = s.createQuery("from Customer");query.setFirstResult(0);query.setMaxResults(2);List list = query.list();for(Object o : list) {System.out.println(o);}t.commit();}
  • 投影查詢: 當我們在查詢實體時,只需要部分實體的屬性。并且希望返回的結果使用實體類封裝,而不是Object[]
    使用步驟:1、查詢語句需要使用new關鍵字
    2、在實體類中添加對應參數列表的構造函數
  • 代碼如下:

    @Testpublic void test5() {Session s = HibernateUtils.getCurrentSession();Transaction t = s.beginTransaction();Query query = s.createQuery("select new domain.Customer(custId,custName) from Customer");List list = query.list();for(Object o : list) {System.out.println(o);}t.commit();}

    在實體類中添加對應參數列表的構造函數,注意無參構造函數實體類中一定不能省

    public Customer(Long custId, String custName) {this.custId = custId;this.custName = custName;}

    注意在使用hql語句時,實體類要加上路徑,因為在一個工程里,當有多個相同類名,就不知道創建那個實體類了

    總結

    以上是生活随笔為你收集整理的Hibernate中hql的基本查询、条件查询、排序插叙、分页查询、投影查询的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 午夜精品久久久久久久96蜜桃 | 日韩免费中文字幕 | 我的好妈妈在线观看 | 中文字幕亚洲专区 | 污污视频免费看 | 伊人狼人久久 | 午夜黄网 | 亚洲天堂av在线免费观看 | 免费看av毛片 | 视频在线不卡 | 国产特级黄色片 | 91视频看看 | 夜夜嗨视频 | 午夜第一页 | 天堂中文在线网 | 久久国产精品区 | 亚洲天堂色 | 亚洲第一福利视频 | 久久aⅴ乱码一区二区三区 亚洲成人18 | 日韩成人免费观看 | 亚洲激情在线视频 | 无码人妻丰满熟妇区五十路百度 | 好吊视频一二三区 | 欧美一区二区久久 | 欧美激情一二三 | 国产精品久久久毛片 | 日韩成人av在线 | 日韩少妇裸体做爰视频 | 777米奇影视第四色 五月丁香久久婷婷 | 两性囗交做爰视频 | 男人和女人日批 | 在线国产观看 | 69视频一区| 轻点好疼好大好爽视频 | 国产网站大全 | 日韩v | 一级视频在线免费观看 | 黄色小说在线看 | 亚洲精品无amm毛片 国内一区二区三区 | 欧美老熟妇又粗又大 | 欧美高跟鞋交xxxxxhd | 日本理论片| 91精品在线视频观看 | 在线免费观看的av | 18p在线观看 | 在线观看国产视频 | 桃色视频网站 | 国产精品白丝喷水在线观看 | 久久艹在线视频 | 日韩av麻豆| 亚洲一区三区 | 国产无遮挡aaa片爽爽 | 亚洲视频二 | 图片区 小说区 区 亚洲五月 | 国产日韩欧美一区二区 | 一级特黄色| 玉丸(双性调教) | 色com| 亚洲色欧美 | 中文字幕免费在线视频 | 中文字幕+乱码+中文字幕明步 | 小嫩女直喷白浆 | 99这里有精品 | 动漫av网站 | 1000部做爰免费视频 | 麻豆md0034在线观看 | 天天想你免费观看完整版高清电影 | 欧美性视频一区二区三区 | 91久久久久久久久久久久久 | 国产动漫av | 精品福利三区3d卡通动漫 | 国内自拍亚洲 | 中文字幕超清在线观看 | 亚洲 欧美 日韩在线 | 亚洲成人偷拍 | 久久人人爽人人人人片 | 丰满少妇被猛烈进入无码 | 免费日批网站 | 久久久久久久国产精品毛片 | 大象传媒成人在线观看 | 少妇搡bbbb搡bbbb | 青青久久av| 素人一区二区三区 | 97人人在线视频 | 欧美一区二区在线观看 | 3d欧美精品动漫xxxx无尽 | 精品成人av一区二区在线播放 | 欧美一级免费看 | 91色吧| 婷婷色在线 | 午夜激情电影在线观看 | 免费在线观看日韩av | 最新地址av | 久久涩综合 | 婷婷丁香社区 | 嫩草影院懂你的影院 | 久草影视在线 | 成人欧美日韩 | 黄色网页免费观看 |