<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    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 閱讀(165) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 国产亚洲AV夜间福利香蕉149| 情侣视频精品免费的国产| 亚洲日韩v无码中文字幕| 菠萝菠萝蜜在线免费视频| 国产一级淫片a免费播放口之| 亚洲AV成人无码网站| 免费国产成人午夜私人影视| 亚洲av无码成人精品区一本二本| 女人18毛片水真多免费看| 亚洲精品宾馆在线精品酒店| 国产一区二区三区在线观看免费| 亚洲国产精品日韩av不卡在线 | 亚洲av无码天堂一区二区三区 | 亚洲av无码专区在线播放| 女同免费毛片在线播放| 亚洲AV无码乱码国产麻豆穿越| 久9久9精品免费观看| 亚洲精品欧洲精品| 思思99re66在线精品免费观看| 久久水蜜桃亚洲AV无码精品 | 日韩免费观看视频| 美女尿口扒开图片免费 | 亚洲另类激情专区小说图片| 美女被艹免费视频| 久久亚洲精品视频| 4虎永免费最新永久免费地址| 亚洲码和欧洲码一码二码三码| 亚洲精品tv久久久久久久久久| 在线涩涩免费观看国产精品| 亚洲乱码一二三四区国产| 国产裸模视频免费区无码| 中国黄色免费网站| 亚洲国产91在线| 亚洲精品tv久久久久久久久久| 99热在线观看免费| 自拍偷自拍亚洲精品偷一| 亚洲av无码专区国产乱码在线观看| 中文字幕无码免费久久99| caoporn国产精品免费| 亚洲国产日韩在线成人蜜芽| 免费人成视网站在线观看不卡|