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

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

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

    張慧的博客

    張慧的博客

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      45 Posts :: 0 Stories :: 24 Comments :: 0 Trackbacks

    準備階段:

    Hibernate可用于各種類型的項目,要在項目中使用Hibernate,需要下載Hibernate的API.
    通過http://www.hibernate.org/網址可以下載到Hibernate的API和一些幫助文檔.

    點擊downloads —> release bundles即可下載

    下載解壓后,在lib -> required目錄下可找到項目中需要的jar包(API).

    官網上好像沒有API的幫助文檔,大家可以到這里下載:http://115.com/file/bensl2vy#hibernate api幫助文檔.chm

     

    開發階段:

    新建一個JAVA項目,目錄結構如下:

    將準備的jar包引入到項目中。

     

    hibernate.cfg.xml:(Hibernate的配置文件,放在項目的src目錄下):<?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.driver_class">com.mysql.jdbc.Driver</property>
             <!-- 設置連接池默認個數 -->
             <property name="connection.pool_size">20</property>
             <!-- 設置JDBC URL -->
             <property name="connection.url">jdbc:mysql://localhost:3306/book</property>
             <!-- 設置數據庫用戶名 -->
             <property name="connection.username">username</property>
             <!-- 設置數據庫用戶密碼 -->
             <property name="connection.password">passwrod</property>
             <!-- 設置SQL方言 -->
             <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
             <!-- 設置是否顯示SQL語句 -->
             <property name="show_sql">true</property>
             <!-- 設置格式化SQL語句 -->
             <property name="format_sql">true</property>
             <property name="current_session_context_class">thread</property>
     
             <mapping resource="com/sunflower/bean/Person.hbm.xml" />
         </session-factory>
     
     </hibernate-configuration>

    這里配置的是MySQL數據庫的驅動和連接,在開始的時候忘了加26行,結果調試的時候出錯,得不到session,關于這個標簽的使用,請參考如下文章:http://blog.sina.com.cn/s/blog_5ecfe46a0100e467.html 第28行是對象關系映射文件的配置.

    Person.java:(人的實體類,對應到關系數據庫中的blog表)package com.sunflower.bean;

     
     import java.io.Serializable;
     
     /**
      * 博客用戶的實體類
      * 
      * 
    @author hanyuan
      * @time 2012-7-8 下午11:53:23
      
    */
     public class Person implements Serializable {
         private Integer id;
         private String username;
         private String password;
         private String caption;
         private String content;
     
         public Integer getId() {
             return id;
         }
     
         public void setId(Integer id) {
             this.id = id;
         }
     
         public String getUsername() {
             return username;
         }
     
         public void setUsername(String username) {
             this.username = username;
         }
     
         public String getPassword() {
             return password;
         }
     
         public void setPassword(String password) {
             this.password = password;
         }
     
         public String getCaption() {
             return caption;
         }
     
         public void setCaption(String caption) {
             this.caption = caption;
         }
     
         public String getContent() {
             return content;
         }
     
         public void setContent(String content) {
             this.content = content;
         }
     
     }

     第12~16行中的屬性對應到數據庫中的blog表的字段,其中id是主鍵索引.

    Person.hbm.xml:(對象關系映射配置文件)<?xml version="1.0"?>

     <!DOCTYPE hibernate-mapping PUBLIC 
         "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
         "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"
    >
     
     <hibernate-mapping>
         <!-- 設置實體類與數據庫中表的對應關系 -->
         <class name="com.sunflower.bean.Person" table="blog">
     
             <id name="id" type="java.lang.Integer">
                 <column name="id"></column>
                 <!-- 將逐漸設置為自增 -->
                 <generator class="increment"></generator>
             </id>
     
             <property name="username" type="java.lang.String" not-null="true">
                 <column name="username"></column>
             </property>
     
             <property name="password" type="java.lang.String">
                 <column name="password"></column>
             </property>
     
             <property name="caption" type="java.lang.String">
                 <column name="caption"></column>
             </property>
     
             <property name="content" type="java.lang.String">
                 <column name="content"></column>
             </property>
     
         </class>
     </hibernate-mapping>

    <class name="com.sunflower.bean.Person" table="blog">表示對象對應的表,<id>字段是必須要有的,表示主鍵。開始的時候沒有加第13行,結果調試出錯,需要加上<generator>標簽,這里設置為自增類型.關于<generator>標簽的使用,參考下列文章:http://sarin.iteye.com/blog/605712

    這個配置文件的是以hbm.xml結尾的,名字建議命名為對象名.hbm.xml,并且和實體類對象放在同一個包下,這樣比較好找.

    Test.java:(調用Hibernate API 插入數據)package com.sunflower.main;

     
     import org.hibernate.Session;
     import org.hibernate.SessionFactory;
     import org.hibernate.Transaction;
     import org.hibernate.cfg.Configuration;
     
     import com.sunflower.bean.Person;
     
     public class Test {
         @SuppressWarnings("deprecation")
         public static void main(String[] args) {
             // 讀取Hibernate的配置信息
             Configuration config = new Configuration();
             config.configure();
     
             // 讀取配置里面的SessionFactory
             SessionFactory sessionFactory = config.buildSessionFactory();
             Session session = sessionFactory.getCurrentSession();
             Transaction transaction = session.beginTransaction();
     
             Person person = new Person();
             person.setUsername("鄧光橋");
             person.setPassword("123");
             person.setCaption("Hibernate");
             person.setContent("Hibernate 入門實例");
     
             // 提交事務
             session.save(person);
             transaction.commit();
             sessionFactory.close();
         }
     }

     

     

    posted on 2012-07-10 00:46 張慧 閱讀(1109) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 中国黄色免费网站| 亚洲欧美在线x视频| 99精品视频免费| 国产伦一区二区三区免费| 亚洲粉嫩美白在线| www.黄色免费网站| 久久乐国产综合亚洲精品| 24小时免费直播在线观看| 国产亚洲福利在线视频| 午夜视频免费成人| 国产成人亚洲综合a∨| 亚洲成?v人片天堂网无码| ssswww日本免费网站片| 亚洲av永久无码精品秋霞电影影院| 日本高清不卡aⅴ免费网站| 久久亚洲精品视频| 亚洲免费人成视频观看| 亚洲综合无码无在线观看| 国产成人在线观看免费网站| 亚洲精品国产日韩无码AV永久免费网 | 日韩精品久久久久久免费| 亚洲蜜芽在线精品一区| 性色av免费观看| 日韩在线观看免费| 亚洲av无码不卡一区二区三区| 亚洲黄色免费在线观看| 亚洲AV成人无码网天堂| 日韩精品亚洲aⅴ在线影院| 美女内射无套日韩免费播放| 亚洲一区二区久久| 免费a级毛片18以上观看精品| 久久久久久久久久免免费精品| 久久精品a亚洲国产v高清不卡| 欧美a级在线现免费观看| 免费视频精品一区二区| 久久精品国产99精品国产亚洲性色| ww在线观视频免费观看| 美女隐私免费视频看| 亚洲国产精品婷婷久久| 日韩免费无码一区二区视频| 国产99视频精品免费视频76|