laoding
          本來我以為,隱身了別人就找不到我,沒有用的,像我這樣拉風的男人,無論走到哪里,都像在黑暗中的螢火蟲一樣,那樣的鮮明,那樣的出眾。我那憂郁的眼神,稀疏的胡茬,那微微隆起的將軍肚和親切的笑容......都深深吸引了眾人......
          posts - 0,  comments - 37,  trackbacks - 0
                  Hibernate 是一個開放源代碼的對象關系映射框架,它對 JDBC 進行了輕量級的對象封裝,使 Java 程序員可以隨心所欲的使用對象編程思維來操縱數據庫。它不僅提供了從 Java 類到數據表之間的映射,也提供了數據查詢和恢復機制。相對于使用 JDBC 和 SQL 來手工操作數據庫,Hibernate 可以大大減少操作數據庫的工作量。 另外 Hibernate 可以利用代理模式來簡化載入類的過程,這將大大減少利用 Hibernate QL 從數據庫提取數據的代碼的編寫量,從而節約開發時間和開發成本 Hibernate 可以和多種Web 服務器或者應用服務器良好集成,如今已經支持幾乎所有的流行的數據庫服務器。
          在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();
                Transaction tx 
          = session.beginTransaction();
                User u 
          = new User();
                u.setUsername(
          "laoding");
                u.setPassword(
          "123");
                session.save(u);
                tx.commit();
                
                String hql 
          = "from User";
                Query query 
          = session.createQuery(hql);
                List list 
          = query.list();
                
          for(Iterator i = list.iterator();i.hasNext();){
                    User user 
          = (User) i.next();
                    System.out.println(
          "username==="+user.getUsername());
                }
              }

          }

          執行這個類,看到后臺打印
          username===laoding

          去看看表里數據已經插入,完成。
          posted on 2008-12-11 19:23 老丁 閱讀(766) 評論(0)  編輯  收藏 所屬分類: hibernate

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


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


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

          留言簿(4)

          我參與的團隊

          文章分類(50)

          文章檔案(48)

          相冊

          朋友

          搜索

          •  

          積分與排名

          • 積分 - 96532
          • 排名 - 600

          最新評論

          主站蜘蛛池模板: 阳西县| 湘潭市| 恩平市| 游戏| 丘北县| 武宁县| 自贡市| 平果县| 即墨市| 松滋市| 东明县| 南安市| 资阳市| 平果县| 盘山县| 芒康县| 宁武县| 碌曲县| 泗水县| 唐海县| 监利县| 五家渠市| 祁门县| 合阳县| 东乡县| 南川市| 合作市| 方山县| 闽清县| 无极县| 新建县| 山东省| 浦江县| 兴山县| 瑞金市| 六安市| 福安市| 怀安县| 阳高县| 东乌| 梁平县|