laoding
          本來我以為,隱身了別人就找不到我,沒有用的,像我這樣拉風的男人,無論走到哪里,都像在黑暗中的螢火蟲一樣,那樣的鮮明,那樣的出眾。我那憂郁的眼神,稀疏的胡茬,那微微隆起的將軍肚和親切的笑容......都深深吸引了眾人......
          posts - 0,  comments - 37,  trackbacks - 0
          在mysql中新建數據好USER表,字段有3個,分別是id、username、password,貼上腳本僅供參考

              create table `ding`.`user`(
                  `id` 
          int default '' not null,
                 `username` varchar(
          30),
                 `password` varchar(
          30),
                  primary key (`id`)
              );

          切換到數據庫透視圖,新建一個mysql連接(這里就不再多說了)。

          新建一個web工程,然后右鍵選擇myeclipse,選擇add hibernate........ ,把hibernate的jar加入到工程中,選擇的時候注意jar包要放在lib中,可以檢查下,其中有一下會選擇剛新建的mysql連接,加完以后就會看到SRC下多了一個hibernate.cfg.xml文件,內容包含了配置的連接信息,如下:
          <?xml version='1.0' encoding='UTF-8'?>
          <!DOCTYPE hibernate-configuration PUBLIC
                    
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
                    
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

          <!-- Generated by MyEclipse Hibernate Tools.                   -->
          <hibernate-configuration>

              
          <session-factory>
                  
          <property name="connection.username">root</property>
                  
          <property name="connection.url">
                      jdbc:mysql:
          //localhost:3306/ding
                  </property>
                  
          <property name="dialect">
                      org.hibernate.dialect.MySQLDialect
                  
          </property>
                  
          <property name="myeclipse.connection.profile">mysql</property>
                  
          <property name="connection.password">ding</property>
                  
          <property name="connection.driver_class">
                      com.mysql.jdbc.Driver
                  
          </property>

              
          </session-factory>

          </hibernate-configuration>

          切換到數據庫透視圖,啟動那個連接找到建的USER表,右鍵選擇Hibernate Reverse Engineering...,在彈出的框里面點擊 Java src folder 一行最右側的 Browser.. 按鈕來選擇源碼目錄,這里我選擇自己工程src 目錄,并把下面的 Java package 右側的輸入框中輸入自己想要的包名,我這里是test,接著選中下面的復選框,我選前面兩個:
          [x] Hibernate mapping file (*.hbm.xml) for each database table
          [x] Java Data Object (POJO <> DB Table)
          第2項下面的復選create abstract class我這里不選,點擊next,再在ID generator選擇increment(自增長),點完成。

          返回j2ee透視圖,會看到在test包下生成了User.java和User.hbm.xml文件,如下:
          public class User implements java.io.Serializable {

              
          private Integer id;

              
          private String username;

              
          private String password;


              
          public Integer getId() {
                  
          return this.id;
              }

              
          public void setId(Integer id) {
                  
          this.id = id;
              }

              
          public String getUsername() {
                  
          return this.username;
              }

              
          public void setUsername(String username) {
                  
          this.username = username;
              }

              
          public String getPassword() {
                  
          return this.password;
              }

              
          public void setPassword(String password) {
                  
          this.password = password;
              }

          }


          <?xml version="1.0" encoding="utf-8"?>
          <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
          <!-- 
              Mapping file autogenerated by MyEclipse Persistence Tools
          -->
          <hibernate-mapping>
              
          <class name="test.User" table="user">
                  
          <id name="id" type="java.lang.Integer">
                      
          <column name="id" />
                      
          <generator class="increment" />
                  
          </id>
                  
          <property name="username" type="java.lang.String">
                      
          <column name="username" length="30" />
                  
          </property>
                  
          <property name="password" type="java.lang.String">
                      
          <column name="password" length="30" />
                  
          </property>
              
          </class>
          </hibernate-mapping>

          同時在原先的hibernate.cfg.xml中加入了  <mapping resource="test/User.hbm.xml" />,最終的hibernate.cfg.xml文件如下:
          <?xml version='1.0' encoding='UTF-8'?>
          <!DOCTYPE hibernate-configuration PUBLIC
                    
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
                    
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

          <!-- Generated by MyEclipse Hibernate Tools.                   -->
          <hibernate-configuration>

              
          <session-factory>
                  
          <property name="connection.username">root</property>
                  
          <property name="connection.url">
                      jdbc:mysql:
          //localhost:3306/ding
                  </property>
                  
          <property name="dialect">
                      org.hibernate.dialect.MySQLDialect
                  
          </property>
                  
          <property name="myeclipse.connection.profile">mysql</property>
                  
          <property name="connection.password">ding</property>
                  
          <property name="connection.driver_class">
                      com.mysql.jdbc.Driver
                  
          </property>
                  
          <mapping resource="test/User.hbm.xml" />

              
          </session-factory>

          </hibernate-configuration>

          寫個Test測試類

          public class Test {

              
          /**  
               *   @Description 方法實現功能描述  
               *   
          @param args
               *   void
               *   
          @throws  拋出異常說明
               
          */
              
          public static void main(String[] args) {
                  
                SessionFactory sf 
          = new Configuration().configure().buildSessionFactory();
                Session session 
          = sf.openSession();
                String hql 
          = "from User";
                
          int curpage = 1;//當前頁 
                int pagesize = 2;//每頁顯示數
                
          //以上兩項有一項為0則查出所有記錄
                List list = findOnePage(session, hql, curpage, pagesize);
                
          for(Iterator i = list.iterator();i.hasNext();){
                    User user 
          = (User) i.next();
                    System.out.println(
          "username==="+user.getUsername());
                }
              }

              
          public static List findOnePage(Session session,String strHQL, int offset, int pagesize){
                  List lst 
          = null;
                  
          try {
                      Query query 
          = session.createQuery(strHQL);
                      
          if (offset != 0 && pagesize != 0) {
                          query.setFirstResult((offset 
          - 1* pagesize);
                          query.setMaxResults(pagesize);
                      }
                      lst 
          = query.list();
                  } 
          catch (Exception ex) {
                      ex.printStackTrace();
                  }
                  
          return lst;
              }

          }

          測試下就可以看到效果了
             int curpage = 1;//當前頁
             int pagesize = 2;//每頁顯示數
          可以改這兩個參數試試
          posted on 2009-05-21 16:22 老丁 閱讀(15167) 評論(3)  編輯  收藏 所屬分類: hibernate

          FeedBack:
          # re: hibernate分頁查詢的實現
          2013-08-26 22:52 | zh
          dfgsdgfdsgfdsg  回復  更多評論
            
          # re: hibernate分頁查詢的實現
          2013-08-26 22:52 | sdfsdf
          sdfdsgfdgs  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          本博客主為學習和復習之用,無關其他,想罵人的繞道
          Email:dkm123456@126.com
          大家一起交流進步
          QQ:283582761


          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          留言簿(4)

          我參與的團隊

          文章分類(50)

          文章檔案(48)

          相冊

          朋友

          搜索

          •  

          積分與排名

          • 積分 - 96532
          • 排名 - 600

          最新評論

          主站蜘蛛池模板: 松潘县| 常宁市| 射洪县| 尼勒克县| 南乐县| 那坡县| 盐边县| 沈阳市| 临湘市| 河北区| 阿克陶县| 安多县| 禹城市| 章丘市| 西乌珠穆沁旗| 临海市| 克什克腾旗| 晋城| 香格里拉县| 恩平市| 乌拉特中旗| 大理市| 南阳市| 雅安市| 花莲县| 讷河市| 阿尔山市| 炉霍县| 错那县| 屯门区| 出国| 白沙| 丰原市| 抚顺县| 绥芬河市| 保亭| 内江市| 宁波市| 闽侯县| 应用必备| 乡宁县|