隨筆-54  評(píng)論-0  文章-2  trackbacks-0
          今天講的是一對(duì)一等知識(shí),這兩天精力不太好,課堂效率不高,好在下課后還看視頻。整理筆記:

          一對(duì)一:用的較少
           
          舉例:人員和身份證
          設(shè)計(jì)表
          user 存在用戶表,photo存在photo表

          一對(duì)一關(guān)聯(lián):外鍵關(guān)聯(lián)
           
          另一種方法:主鍵關(guān)聯(lián)
           
           
          注意:constrained = true
          多對(duì)多:

          老師對(duì)學(xué)生 學(xué)生有多個(gè)老師
           
          只有刪除和插入的概念,沒有更新的概念

                             
           
           檢索方式:
          檢索方式簡(jiǎn)介
          HQL檢索方式
          1。7。調(diào)用用戶自定義的函數(shù)
          8。嵌入式查詢
          9。動(dòng)態(tài)綁定參數(shù)在查詢語(yǔ)句中設(shè)定各種查詢條件
          2。支持投影,僅檢索出對(duì)象的部分屬性
          3。支持分頁(yè)
          4。連接查詢
          5。分組查詢
          6。內(nèi)置聚集函數(shù)
          Query query = session.createQuery(“from Customer as c where c.name=:custoerNa
          me and c.age = :customerAge”);
          query.setString(“customerName”,”Tom”);
          query.setInteger(“customerAge,21);
          query.list();

          2. QBC檢索方式
           
          3.多態(tài)查詢    (查詢所有該類以及該類的子類所對(duì)應(yīng)的表,如果查詢接口,則查詢的是實(shí)現(xiàn)的是查詢所有實(shí)現(xiàn)該接口的類所對(duì)應(yīng)的表

          session.createQuery(“from Employee”);
          查詢出所有的實(shí)體
          from java.lang.serializable(支持接口)
          from java.lang.Object

          檢索方式簡(jiǎn)介
          對(duì)查詢結(jié)果排序
          hql 查詢:
          session.createQuery(“from Employee c order by c.name”);
          qbc查詢:
          session.createCriteria(Customer.class).addOrder(Order.asc(“id”));

          分頁(yè)查詢
          hql 查詢:
          session.createQuery(“from Employee c order by c.name”).setFirstResult(10)
                                             .setMaxResults(10);
          qbc查詢:
          session.createCriteria(Customer.class)
                        .addOrder(Order.asc(“name”))
                        .setFirstResult(97).setMaxResult(10).list();


          檢索單個(gè)對(duì)象
          hql 查詢:
          session.createQuery(“from Employee c order by c.name”)
                               .setMaxResults(1).uniqueResult();
          qbc查詢:
          session.createCriteria(Customer.class)
                        .addOrder(Order.asc(“name”))
              .setMaxResult(1).uniqueResult();
           
          檢索方式簡(jiǎn)介
          對(duì)查詢結(jié)果排序
          hql 查詢:
          session.createQuery(“from Employee c order by c.name”);
          qbc查詢:
          session.createCriteria(Customer.class).addOrder(Order.asc(“id”));

          分頁(yè)查詢
          hql 查詢:
          session.createQuery(“from Employee c order by c.name”).setFirstResult(10)
                                             .setMaxResults(10);
          qbc查詢:
          session.createCriteria(Customer.class)
                        .addOrder(Order.asc(“name”))
                        .setFirstResult(97).setMaxResult(10).list();


          檢索單個(gè)對(duì)象
          hql 查詢:
          session.createQuery(“from Employee c order by c.name”)
                               .setMaxResults(1).uniqueResult();
          qbc查詢:
          session.createCriteria(Customer.class)
                        .addOrder(Order.asc(“name”))
              .setMaxResult(1).uniqueResult();

          綁定參數(shù)

          hql 查詢:
          session.createQuery(“from Employee c where c.name =
                                        :customerName”);
          query.setString(“customer”,”Tom”);

             報(bào)表查詢
           
          小結(jié)
          比較方面              HQL檢索                   QBC檢索
          可讀性           優(yōu)點(diǎn):和sql相近,易讀         將語(yǔ)句肢解成一組criteria,較差
          功能             支持各種查詢                  不支持報(bào)表查詢和子查詢。有限的連接查詢
          查詢語(yǔ)句形式     基于字符串形式的sql           更加面向?qū)ο?br /> 何時(shí)被解析       運(yùn)行時(shí)被解析                  編譯時(shí)被解析,更易排錯(cuò)
          可擴(kuò)展性         不具擴(kuò)展性                    用戶可擴(kuò)展criteria接口
          對(duì)動(dòng)態(tài)查詢語(yǔ)句的支持 支持動(dòng)態(tài)查詢,編程麻煩    適合動(dòng)態(tài)生成查詢語(yǔ)句

          直接弄個(gè)connection ,斷點(diǎn)一下,看是否用的c3p0

          在學(xué)習(xí)中一定要不斷調(diào)試代碼!努力消化一天所學(xué)!
          posted on 2010-01-31 23:32 d66380022 閱讀(387) 評(píng)論(0)  編輯  收藏
          主站蜘蛛池模板: 依安县| 双桥区| 呼玛县| 元阳县| 互助| 蒲江县| 青浦区| 陇川县| 垦利县| 丹巴县| 三河市| 鄂托克前旗| 商水县| 乌拉特中旗| 崇义县| 平南县| 仁化县| 麻栗坡县| 小金县| 乌苏市| 永靖县| 德庆县| 清丰县| 库伦旗| 出国| 广水市| 垣曲县| 富宁县| 岳阳县| 宣武区| 广元市| 灵丘县| 陆丰市| 准格尔旗| 广州市| 砚山县| 北宁市| 平潭县| 措勤县| 北辰区| 新绛县|