Hibernate配置

Ⅰ.Hibernate配置前提工做(E:\):
    (一).解壓4個工具包
         工具以下:apache-ant-1.6.2-bin.zip      →→     apache-ant-1.6.2
                   hibernate-2.1.2.zip                       →→     hibernate-2.1
                   hibernate-extensions-2.1.3.zip     →→     hibernate-extensions-2.1.3
                   Middlegen-Hibernate-r5.zip          →→     Middlegen-Hibernate-r5
                   JDBC驅動
    (二).瞭解Hibernate幾個基本概念:
     ①ORM     object (java object) - relation( hibernate) -object(Dbo) 
     ②POJO    無格式普通java對象
     ③XML     字描述很是強 
     ④數據庫相關信息
Ⅱ.Hibernate配置
    (一).得到數據庫鏈接信息 
          二種格式:
            1>.文件名爲:hibernate.properties   位於 E:\hibernate-2.1\src
            2>.文件名爲:hibernate.cfg.xml
                                注意: hibernate.properties 優先考慮。
       運用工具1: hibernate-2.1.2.zip     (Hibernate發行包)
             ⑴.用XMLwriter工具對hibernate.properties (鍵值對存放數據的)文件進行修改,步驟以下 :
                  ①.用#進行註釋 (22-30行)        
                        例: 22行 ## HypersonicSQL 
                            24-30行 用#進行註釋 
                  ②.按 Ctrl+F 查找你要鏈接的數據庫 (如:jtds) 對其進行修改
                     116行 ## MS SQL Server
                          hibernate.dialect net.sf.hibernate.dialect.SQLServerDialect
                          hibernate.connection.username sa
                          hibernate.connection.password sa
                     138行 ## jTDS (not supported!)
                          hibernate.connection.driver_class net.sourceforge.jtds.jdbc.Driver
                          hibernate.connection.url jdbc:jtds:sqlserver://localhost:1433/pubs
                          hibernate.jdbc.use_scrollable_resultset false 
             好的,第一步成功了!^_^!~   

   (二).映射信息 (擴展名爲:hbm.xml的文件)
       運用工具2:    Middlegen-Hibernate-r5.zip (用於生成hbm文件) 注意:它本身不能夠運行靠工具3生成
       運用工具3:    apache-ant-1.6.2-bin.zip    (運行Middlegen的工具)
      ⑴.設置環境變量,在系統環境變量中添加名叫ant_home的變量,其值爲ant工具的根目錄 而且ant根目錄下的bin目錄放入path變量 
            1.新建環境變量(ant_home) E:\apache-ant-1.6.2
            2.path                    E:\apache-ant-1.6.2\bin
          測試:在DOS下 C:\Documents and Setting\Lab1>ant
                       Buildfile:build.xml does not exist!
                       Build failed          測試成功!~~ 
      ⑵.修改的XML以下:
        ⒈ build.xml    路徑:(E:\Middlegen-Hibernate-r5\build.xml)
           ①24行              <!ENTITY database SYSTEM "file:./config/database/mssql.xml">
           ②51行              <property name="build.gen-src.dir"    value="D:\temp"/>   結果文件在哪產生
           ③158行             <table name="數據表名"/>      鏈接數據庫表名 (注:能夠創建很須要的表)
           ④185行              package="改本身的包名"        根據本身要求取包的名字
         
        ⒉選擇的數據庫   路徑:(E:\Middlegen-Hibernate-r5\config\database\*.xml)
            如:mssql.xml
           ①8行      <property name="database.driver.file"           value="${lib.dir}/jtds.jar"/>
           ②9行      <property name="database.driver"             value="net.sourceforge.jtds.jdbc.Driver"/>   修改Driver
           ③10行      <property name="database.url"                   value="jdbc:jtds:sqlserver://localhost:1433/pubs"/> 

修改URL
           ④11行       <property name="database.userid"                value="sa"/>
           ⑤12行       <property name="database.password"              value="sa"/>
           ⑥13行       <property name="database.schema"                value="dbo"/>
           ⑦14行       <property name="database.catalog"               value="pubs"/>
           
       以上修改完後,須要注意的問題!
     ★特別注意:將你的JDBC驅動大集合\SqlServer\JTDS\jtds.jar 放入E:\Middlegen-Hibernate-r5\lib 裏面 就能夠了!~
        ⒊java object (java 對象)
            工具4:hibernate-extensions-2.1.3    解壓到....注意目錄。
       ㈠:設置環境變量:
               在系統變量中添加一變量名爲hibernate-home 其值爲hibernate發行包的跟目錄:E:\hibernate-2.1 注意格式。
         在DOS下運行:
                 C:\Documents and Settings\lab1>e:
                 E:\>dir/w
                 E:\>cd E:\Middlegen-Hibernate-r5
                 E:\Middlegen-Hibernate-r5>ant
                 E:\>cd E:\hibernate-extensions-2.1.3\tools\bin

            E:\hibernate-extensions-2.1.3\tools\bin>hbm2java 結果文件的完整路徑(*.xml) --output=java文件的存放目錄(與結果文件放在一塊兒)

     生產java文件。

     打開java文件;刪除導入的用於序列化的包,刪除最後的toString方法;

Ⅲ.Hibernate開發: 
      1 .將.xml .java文件拖放到SRC中同一包下
      2.導入import java.io.*;
      3.把hibernate發行包中的hibernate.properties拖放到SRC中去。
      ….導入jar包:E:\hibernate-2.1\lib\的全部.jar包
                    所鏈接的數據庫的JDBC的驅動包也要導入
                    hibernate發行包中的hibernate2.jar也要導入,                 

OK 配置完成   開始測試代碼:

package hello;

import java.util.List;

import net.sf.hibernate.HibernateException;
import net.sf.hibernate.MappingException;
import net.sf.hibernate.Session;
import net.sf.hibernate.SessionFactory;
import net.sf.hibernate.cfg.Configuration;

public class Hibernate {

    /**
    * @param args
    * @throws HibernateException 
    * @throws MappingException 
    * @throws HibernateException 
    */
    
    public static void main(String[] args) throws MappingException, HibernateException {
        SessionFactory factory = new Configuration()
            .addClass(hello.Admin.class).buildSessionFactory();
        
        Session session = factory.openSession();
        Admin admin = new Admin();
        List list = session.find("from Admin");
        
        for (int i=0; i<list.size(); i++) {
            admin = (Admin) list.get(i);
            System.out.println(admin.getName()+"\t"+admin.getPassword()); 
        }
        factory.close();
        session.close();
    }
}
!!!注意:
若是表沒有主鍵則必須重寫equals() 和hashCode()方法,有主鍵則沒必要。
public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || !(o instanceof Admin))
            return false;

        Admin other = (Admin)o;

        if (name == other.getName()) return true;
        if (name == null) return false;

        return name.equals(other.getName());
    }

    public int hashCode() {
        if (name != null) {
            return name.hashCode();
        } else {
            return super.hashCode();
        }
    }java

相關文章
相關標籤/搜索