隨筆 - 15  文章 - 5  trackbacks - 0
          <2009年3月>
          22232425262728
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          在hibernate.cfg.xml配置文件中配置
          <property name="hibernate.jdbc.fetch_size">50</property>
          //每次查詢50條
          <property name="hibernate.jdbc.batch_size">50</property>
          //每次更新50條

          posted @ 2009-03-16 18:03 simplye 閱讀(846) | 評(píng)論 (0)編輯 收藏
          1 List students =session.createQuery("select c.name, count(s) from Student s join s.classes c " +
          2                     "group by c.name order by c.name").list();
          3             for (Iterator iter=students.iterator(); iter.hasNext();) {
          4                 Object[] obj = (Object[])iter.next();
          5                 System.out.println(obj[0+ "" + obj[1]);
          6             }
          posted @ 2009-03-05 22:43 simplye 閱讀(875) | 評(píng)論 (0)編輯 收藏
          1.
          List students = session.createQuery("select c.name, s.name from Student s inner join s.classes c").list();
                      for (Iterator iter=students.iterator(); iter.hasNext();) {
                          Object[] obj = (Object[])iter.next();
                          System.out.println(obj[0] + "," + obj[1]);
                      }

          2.
          //左連接
          List students = session.createQuery("select c.name, s.name from Classes c left join c.students s").list();
                      for (Iterator iter=students.iterator(); iter.hasNext();) {
                          Object[] obj = (Object[])iter.next();
                          System.out.println(obj[0] + "," + obj[1]);
                      }

          posted @ 2009-03-05 22:37 simplye 閱讀(2619) | 評(píng)論 (0)編輯 收藏
          /*
          構(gòu)建HQL語句進(jìn)行查詢
          */
          1.
          Query query = session.createQuery("select s.id, s.name from Student s where s.name like ? ");
          //用?占位符
          query.setParameter(0, "%1%");
          //添加查詢條件
          List students = query.list();
          //返回查詢列表


          2.
          //可以用in()來進(jìn)行多條件查詢,使用setParameterList把所有的查詢的條件放入list中
          //可以用 :參數(shù)  來傳遞參數(shù)
          List students = session.createQuery("select s.id, s.name from Student s where s.id in(:myids) ")
                                 .setParameterList(myids, new Object[]{1,2})
                                 .list();
           
          3.
          //日期查詢語句
          List students = session.createQuery("select s.id, s.name from Student s where date_format(s.createTime, '%Y-%m')=? ")
                                 .setParameterList(0, 2009-1)
                                 .list();

          4.
          //日期段的查詢

          //首先構(gòu)建一個(gè)日期對(duì)象
          SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

          List students = session.createQuery("select s.id, s.name from Student s where s.createTime between ? and ? ")
                                 .setParameter(0, sdf.setparse("2009-1-1 00:00:00"))
                                 .setParameter(1, sdf.setparse("2009-2-1 23:59:59"))
                                 .list();

          posted @ 2009-03-05 16:20 simplye 閱讀(6416) | 評(píng)論 (1)編輯 收藏
          web容器:給處于其中的應(yīng)用程序組件(JSP,SERVLET)提供一個(gè)環(huán)境,使JSP,SERVLET直接更容器中的環(huán)境變量接口交互,不必關(guān)注其它系統(tǒng)問題。主要有WEB服務(wù)器來實(shí)現(xiàn)。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。該容器提供的接口嚴(yán)格遵守J2EE規(guī)范中的WEB APPLICATION 標(biāo)準(zhǔn)。我們把遵守以上標(biāo)準(zhǔn)的WEB服務(wù)器就叫做J2EE中的WEB容器。

          EJB容器:Enterprise java bean 容器。更具有行業(yè)領(lǐng)域特色。他提供給運(yùn)行在其中的組件EJB各種管理功能。只要滿足J2EE規(guī)范的EJB放入該容器,馬上就會(huì)被容器進(jìn)行高效率的管理。并且可以通過現(xiàn)成的接口來獲得系統(tǒng)級(jí)別的服務(wù)。例如郵件服務(wù)、事務(wù)管理。

          JNDI:(Java Naming & Directory Interface)JAVA命名目錄服務(wù)。主要提供的功能是:提供一個(gè)目錄系統(tǒng),讓其它各地的應(yīng)用程序在其上面留下自己的索引,從而滿足快速查找和定位分布式應(yīng)用程序的功能。

          JMS:(Java Message Service)JAVA消息服務(wù)。主要實(shí)現(xiàn)各個(gè)應(yīng)用程序之間的通訊。包括點(diǎn)對(duì)點(diǎn)和廣播。

          JTA:(Java Transaction API)JAVA事務(wù)服務(wù)。提供各種分布式事務(wù)服務(wù)。應(yīng)用程序只需調(diào)用其提供的接口即可。

          JAF:(Java Action FrameWork)JAVA安全認(rèn)證框架。提供一些安全控制方面的框架。讓開發(fā)者通過各種部署和自定義實(shí)現(xiàn)自己的個(gè)性安全控制策略。
           
          RMI/IIOP:(Remote Method Invocation /internet對(duì)象請(qǐng)求中介協(xié)議)他們主要用于通過遠(yuǎn)程調(diào)用服務(wù)。例如,遠(yuǎn)程有一臺(tái)計(jì)算機(jī)上運(yùn)行一個(gè)程序,它提供股票分析服務(wù),我們可以在本地計(jì)算機(jī)上實(shí)現(xiàn)對(duì)其直接調(diào)用。當(dāng)然這是要通過一定的規(guī)范才能在異構(gòu)的系統(tǒng)之間進(jìn)行通信。RMI是JAVA特有的。
          posted @ 2009-03-05 11:01 simplye 閱讀(2633) | 評(píng)論 (0)編輯 收藏
          1.
          /**
          單一屬性查詢
          */
          List s = session.createQuery("select name from Student").list();
          //返回的類型與實(shí)體類中相應(yīng)的屬性類別一直.

          2.
          /**
          多個(gè)屬性查詢
          */
          List s = session.createQuery("select id, name from Student").list();
          //查詢多個(gè)屬性,返回值為對(duì)象的數(shù)組
          //數(shù)組元素類型和對(duì)應(yīng)的實(shí)體類型一直
          //數(shù)組長(zhǎng)度與查詢的條件相同

          3./**
          返回student實(shí)體類,
          還要在實(shí)體類中提供空的構(gòu)造函數(shù),和帶參數(shù)的構(gòu)造函數(shù)
          */
          List s = session.createQuery("select new Student(id, name) from Student").list();
          //返回的便是實(shí)體類

          4.
          可以實(shí)用別名,用as

          5.
          /*
          list()與iterate()方法的區(qū)別.
          */
          iterate()迭代中會(huì)發(fā)生N+1的現(xiàn)象,它與session的綁定.當(dāng)session在緩存中存在時(shí)用iterate()會(huì)提高一定的效率.沒有在發(fā)生N+1現(xiàn)象
          list()只會(huì)向數(shù)據(jù)庫查詢的SQL,除非配置查詢緩存.

          posted @ 2009-03-04 17:17 simplye 閱讀(321) | 評(píng)論 (0)編輯 收藏
          /*
          悲觀鎖
          */
          Inventory inv = (Inventory)session.load(Inventory.class, 1, LockMode.UPGRADE);
          // 在數(shù)據(jù)庫設(shè)置為不可重復(fù)讀下設(shè)置,LockMode為枚舉類型.

          /*
          樂觀鎖
          */
          Inventory inv = (Inventory)session.load(Inventory.class, 1);
          // 在映射文件中添加<version>字段,在讀取時(shí)讀取version字段進(jìn)行判斷,如果version數(shù)值小于等于當(dāng)前數(shù)值則報(bào)錯(cuò).
          posted @ 2009-03-04 14:39 simplye 閱讀(230) | 評(píng)論 (0)編輯 收藏
                    <id name="id">
                        
          <generator class="native"/>
                   
          </id>
                   
          <property name="name"/> 
                   
                   
          <set name="setValue" table="t_set_value">   // set的映射
                           <key column="set_id"/>                   // 外鍵關(guān)聯(lián)
                
          //   <composite-element> 對(duì)象集合
                           <element type="string" column="set_value">        // 字符串集合 放入表中  
                   </set>
                   
                   
          <list name="listValue" table="t_list_value">   //list的映射
                           <key column="list_id"/>                                            
                           
          <list-index column="list_index"/>                        // 將存入表數(shù)據(jù)排序放入一個(gè)字段中
                           <element type="string" column="list_value"/>    
                   
          </list>
                   
                   
          <array name="arrayValue" table="t_array_value">
                           
          <key column="array_id"/>
                           
          <array-index column="array-index"/>
                           
          <element type="string" column="array_value"/>
                   
          </array>
                   
                   
          <map name="mapValue" table="t_map_value">
                           
          <key column="map_id" />
                           
          <map-key type="string" column="map_key"/>     //存放map中的key值
                           <element type="string" column="map_value"/> //存放map中的value值
                   </map>
               
          </class>    
          </hibernate-mapping>
          posted @ 2009-03-03 17:59 simplye 閱讀(246) | 評(píng)論 (0)編輯 收藏
           1 <?xml version="1.0"?>
           2 <!DOCTYPE hibernate-mapping PUBLIC 
           3     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
           4     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
           5 <hibernate-mapping >
           6     <class name="com.simplye.hibernate.User" table="t_user">
           7         <id name="id">
           8             <generator class="native"/>
           9         </id>
          10         <property name="name"/>
          11         
          12         <many-to-one name="group" column="t_group"/>
          13         
          14     </class>    
          15 </hibernate-mapping>

          多段實(shí)用外鍵



           1 <?xml version="1.0"?>
           2 <!DOCTYPE hibernate-mapping PUBLIC 
           3     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
           4     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
           5 <hibernate-mapping >
           6     <class name="com.simplye.hibernate.Group" table="t_group">
           7         <id name="id">
           8             <generator class="native"/>
           9         </id>
          10         <property name="name"/>
          11     </class>    
          12 </hibernate-mapping>

          posted @ 2009-03-02 14:43 simplye 閱讀(192) | 評(píng)論 (0)編輯 收藏
            <?xml version="1.0"?>
            
          <!DOCTYPE hibernate-mapping PUBLIC
                
          "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
                
          "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
            
          <hibernate-mapping package="com.simplye.hibernate">
                
          <class name="User" table="t_user">
                    
          <id name="id">
                      
          <generator class="native"/>
                    
          </id>
                   
          <property name="name"/>       
                     <
          component name="contact"> //附屬類
                         <property name="email">
                     
          </component>
               
          </class>
           
          </hibernate-mapping>
          posted @ 2009-03-02 01:53 simplye 閱讀(345) | 評(píng)論 (0)編輯 收藏
          <?xml version="1.0"?>
          <!DOCTYPE hibernate-mapping PUBLIC
              
          "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
              
          "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
          <hibernate-mapping package="com.simplye.hibernate">
              
          <class name="Animal" table="t_animal"> //可以設(shè)置抽象類,使抽象類不被創(chuàng)建   abstruct="true"
                  
          <id name="id">
                      
          <generator class="uuid"/> //或者手動(dòng)生成assigned
                  </id>
                  
          <property name="name"/>
                  
          <property name="sex"/>
                  <union-subclass name="Pig" table="t_pig">
                      <property name="weight"/>
                  </union-subclass>      
                  <union-subclass name="Brid" table="t_brid">
                      <property name="height">  
                  </union-subclass>
              
          </class>
          </hibernate-mapping>
          posted @ 2009-03-02 01:26 simplye 閱讀(168) | 評(píng)論 (0)編輯 收藏
          主站蜘蛛池模板: 武定县| 青州市| 正镶白旗| 东莞市| 怀来县| 新津县| 宣威市| 永春县| 海门市| 鹰潭市| 莱州市| 延吉市| 定兴县| 大新县| 桂东县| 睢宁县| 阿瓦提县| 南澳县| 伊通| 沭阳县| 林周县| 遂平县| 聂拉木县| 泰顺县| 崇州市| 疏勒县| 石景山区| 高唐县| 申扎县| 高台县| 方山县| 五大连池市| 马关县| 荔波县| 綦江县| 武隆县| 胶州市| 东阳市| 大厂| 雷州市| 平湖市|