標籤:
程式結構
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架構程式