posts - 66,comments - 41,trackbacks - 0
             今天終于搞了個簡單的Hibernate的入門,這個Hibernate使用過程大概如下,DB建表->JavaBean->創建映射文件->Hibernate配置文件->編寫代碼。
          建表和JavaBean就不說了,還是說說配置文件吧,下面是一個映射文件的標準配置文件(Standard.hbm.xml):

           1 <?xml version="1.0" encoding="UTF-8"?>
           2 
           3 <!-- 
           4     所有的XML映射文件都需要定義如下所示的DOCTYPE。
           5     Hibernate會先在它的類路徑(classpath)中搜索DTD文件
           6 -->
           7 <!DOCTYPE hibernate-mapping PUBLIC
           8      "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
           9         "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
          10 
          11 <!-- 
          12     hibernate-mapping有如下可選屬性:
          13     1.Schema 屬性指明了這個映射的表所在的schema名稱
          14     2.default-cascade屬性指定了默認的級聯風格 可取值有none、save、update
          15     3.auto-import屬性默認讓我們在查詢語言中可以使用非全限定的類名 可取值有true、false.
          16     4.package屬性指定一個包前綴。
          17 -->
          18 
          19 <hibernate-mapping schema="schemaName" default-cascade="none"
          20     auto-import="true" package="packageName">
          21 
          22     <!-- 用class元素來定義一個持久化類 -->
          23     <class name="People" table="person">
          24         <!-- id元素定義了屬性到數據庫表主鍵字段的映射 -->
          25         <id name="id">
          26             <!-- 用來為持久化類的實例生成唯一的標識 -->
          27             <generator class="navive" />
          28         </id>
          29 
          30         <!-- discriminator識別器 是一種定義繼承關系的映射方法 -->
          31         <discriminator column="subclass" type="character" />
          32 
          33         <!-- property 元素為類聲明了一個持久化的、JavaBean風格的屬性-->
          34         <property name="name" type="String">
          35             <column name="name" length="64" not-null="true" />
          36         </property>
          37 
          38         <property name="sex" not-null="true" update="false" />
          39 
          40         <!-- 多對一映射關系 -->
          41         <many-to-one name="friend" column="friend_id" update="false" />
          42 
          43         <!-- 設置關聯關系 -->
          44         <set name="friends" inverse="true" order-by="id">
          45             <key column="friend_id" />
          46             <!-- 一對多映射 -->
          47             <one-to-many class="Cat" />
          48         </set>
          49 
          50     </class>
          51 
          52 </hibernate-mapping>
          53 

                Hibernate的配置文件分為兩種:一種為hibernate.cfg.xml,還有一種為hibernate.properties文件,下面分別給出標準配置
          hibernate.cfg.xml:
          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE hibernate-configuration PUBLIC 
                     "http://Hibernate/Hibernate Configuration DTD 3.0//EN" 
                     "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
          >

          <hibernate-configuration>
              
          <session-factory>

                  
          <!-- 顯示執行的SQL語句 -->
                  
          <property name="show_sql">true</property>

                  
          <!-- 連接字符串 -->
                  
          <property name="connection.url">
                      jdbc:mysql://localhost3306/stu
                  
          </property>

                  
          <!-- 數據庫用戶名 -->
                  
          <property name="connection.username">root</property>

                  
          <!-- 數據庫用戶密碼 -->
                  
          <property name="connection.password">password</property>

                  
          <!-- 數據庫驅動-->
                  
          <property name="connection.driver_class">
                      com.mysql.jdbc.Driver
                  
          </property>

                  
          <!-- 選擇使用的方言 -->
                  
          <property name="dialect">
                      org.hibernate.dialect.MySQLDialect
                  
          </property>

                  
          <!-- 映射文件 -->
                  
          <mapping resource="com/stuman/domain/Admin.hbm.xml" />

                  
          <mapping resource="com/stuman/domain/Student.hbm.xml" />

              
          </session-factory>
          </hibernate-configuration>

          hibernate.properties:
          #指定數據庫使用的驅動類
          hibernate.connection.driver_class=com.mysql.jbc.Driver r

          #指定數據庫連接串
          hibernate.connection.url=jdbc:mysql://localhost:3306/db

          #指定數據庫連接的用戶名
          hibernate.connection.username=username

          #指定數據庫連接的密碼
          hibernate.connection.password=password

          #指定數據庫使用的方言
          hibernate.dialect=net.sf.hibernate.dialect.MySQLDialect

          #指定是否打印SQL語句
          hibernate.show_sql=true/false

          下面是一個測試類,HOHO
           1 package Hibernate;
           2 
           3 import org.hibernate.*;
           4 import org.hibernate.cfg.*;
           5 
           6 public class Test {
           7     public static void main(String args[]) {
           8        try {
           9            //常見session工廠
          10            SessionFactory sf=new Configuration().configure().buildSessionFactory();
          11            //獲取session實例
          12            Session session=sf.openSession();
          13            //開始事務
          14            Transaction tx=session.beginTransaction();
          15            //創建一個User對象
          16            User user=new User();
          17            //為對象賦值
          18            user.setUsername("Hibernate");
          19            user.setPassword("123");
          20            //調用save()方法保存user實例到DB
          21            session.save(user);
          22            tx.commit();
          23            //關閉Session
          24            session.close();
          25        }catch (HibernateException e) {
          26            e.printStackTrace();
          27        }
          28    }
          29 }
          30 




          MSN:
          posted on 2007-12-17 21:20 kylixlu 閱讀(166) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 普陀区| 会东县| 鹤岗市| 星子县| 五常市| 长宁县| 秦皇岛市| 乌恰县| 文水县| 南京市| 泗水县| 岳阳市| 灌阳县| 化州市| 宜良县| 萨嘎县| 广东省| 高要市| 武夷山市| 胶州市| 苏尼特左旗| 芜湖县| 乐都县| 且末县| 龙口市| 玉树县| 东明县| 东光县| 赤壁市| 汤原县| 平舆县| 教育| 南康市| 徐闻县| 手游| 和林格尔县| 长宁县| 灌阳县| 开平市| 沅陵县| 田林县|