Java學習筆記--第一個Hibernate架構程式

來源:互聯網
上載者:User

標籤:

程式結構

 

1.建表

本例選擇Sql Server2008作為資料庫 在MySQL中新增一個ztest資料庫,建立 CUSTOMER 表

CREATE TABLE CUSTOMER(    CID INTEGER NOT NULL PRIMARY KEY,     USERNAME VARCHAR(12) NOT NULL,     PASSWORD VARCHAR(12) );

 

2.建立PO對象

補充:POJO是Plain OrdinaryJava Object的縮寫,它通指沒有使用Entity Beans的普通java對象,可以把POJO作為支援商務邏輯的協助類。POJO實質上可以理解為簡單的實體類,顧名思義POJO類的作用是方便程式員使用資料庫中的資料表, Customer.java
package com.session;public class Customer {        private int id;    private String username;    private String password;    public int getId() {        return id;    }    public String getPassword() {        return password;    }    public String getUsername() {        return username;    }    public void setId(int id) {        this.id = id;    }    public void setPassword(String password) {        this.password = password;    }    public void setUsername(String username) {        this.username = username;    }}

 

3.XML映像檔案

為了告訴Hibernate對象如何映像至資料庫表格,需要編寫一個XML對應檔,命名為Customer.hbm.xml

與對應的表名要一致,XML對應檔如下

<?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"><hibernate-mapping>    <class name="com.session.Customer" table="CUSTOMER">        <id name="id" column="CID" type="java.lang.Integer">            <generator class="increment" />        </id>        <property name="username" column="USERNAME" type="java.lang.String"/>        <property name="password" column="PASSWORD" type="java.lang.String"/>    </class></hibernate-mapping>

 

4.定義Hibernate設定檔

主要是進行SessionFactory配置,Hibernate可以使用XML或屬性檔案來進行配置,下面是使用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"><hibernate-configuration>    <session-factory>         <!-- sql Server資料庫驅動 -->          <property name="hibernate.connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>          <!-- mysql資料庫名稱 -->          <property name="hibernate.connection.url">jdbc:sqlserver://localhost:1433; DatabaseName=ztest</property>          <!-- 資料庫的登陸使用者名稱 -->          <property name="hibernate.connection.username">sa</property>          <!-- 資料庫的登陸密碼 -->          <property name="hibernate.connection.password">123</property>          <mapping resource ="com/session/Customer.hbm.xml"/>        <!-- 注意:必須是“/”而不能是“.”。 -->    </session-factory>        </hibernate-configuration>

注意:這個檔案的檔案頭和3中的檔案頭是不一樣的,另外注意第三行的版本號碼別寫錯了

 

5.編寫應用程式

下面為一個示範程式

package com.session;import org.hibernate.HibernateException;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;public class Test {    public static void main(String[] args) {        try {SessionFactory sf =                new Configuration().configure().buildSessionFactory();            Session session = sf.openSession();            Transaction tx = session.beginTransaction();            for (int i = 0; i < 200; i++) {                Customer customer = new Customer();                customer.setUsername("customer" + i);                customer.setPassword("customer");                session.save(customer);            }            tx.commit();            session.close();        } catch (HibernateException e) {            e.printStackTrace();        }    }}

 

編譯執行Test.java

在Sql Server2008中執行查詢語句: Select * from CUSTOMER

結果

 

另附連結 2004年的一篇文章: http://blog.csdn.net/doodoofish/article/details/43207/

好的技術會被不斷髮展完善。

Java學習筆記--第一個Hibernate架構程式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.