Hibernate学习笔记--第一个Hibernate框架程序
一般使用集成開發環境是,把所需的類庫添加到項目屬性的庫路徑中,開發工具在部署時會自動復制所需要的類包到WEB-INF\lib目錄下
MyEclipse中:
創建項目,右擊項目->myeclipse->Project Facets->Install Hibernate Facets即可
程序結構
?
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>注意:
class name =java文件完整地址+文件名
table=數據庫中建的表名
name為java文件中的屬性,column為數據庫中的屬性,二者對應。不要忘了添加type,否則可能出錯?
?
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> <!-- sql Server數據庫名稱 --> <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/
好的技術會被不斷發展完善。
轉載于:https://www.cnblogs.com/gnivor/p/4326049.html
總結
以上是生活随笔為你收集整理的Hibernate学习笔记--第一个Hibernate框架程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用DirectX截屏
- 下一篇: 3.13题目思路