hibernate01 環境搭建
1、導包
2、數據庫建模
3、創建持久化類(POJO)
注意:
①、需提供一個無參的構造器,因為hibernate使用反射來實例化持久化類(Constructor.newInstance())
否則報錯:
INFO: HHH000327: Error performing load command : org.hibernate.InstantiationException: No default constructor for entity: com.hibernate.domain.Customer
package com.hibernate.domain;
public class Customer {
private int custID;
private String custName;
private String phone;
private String address;
public int getCustID() {
return custID;
}
public void setCustID(int custID) {
this.custID = custID;
}
public String getCustName() {
return custName;
}
public void setCustName(String custName) {
this.custName = custName;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Customer(int custID, String custName, String phone, String address) {
super();
this.custID = custID;
this.custName = custName;
this.phone = phone;
this.address = address;
}
public Customer() {
}
}
4、創建映射文件(xxx.hbm.xml)
Customer.hbm.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.hibernate.domain.Customer" table="customer">
<!-- name:對應的持久化類的全類名 table:對應的表名 -->
<!-- 下面建立類中的字段 和 表中列的對應關系
id:建立類中字段與表的主鍵之間的對應關系
name:類中的字段名
column:數據庫中的列名
generator:主鍵生成策略
-->
<id name="custID" column="cust_id">
<generator class="native"></generator>
</id>
<!--
property:建立類中字段與表中普通列之間的對應關系
name:類中的字段名
column:數據庫中的列名
-->
<property name="custName" column="cust_name"></property>
<property name="phone" column="cust_phone"></property>
<property name="address" column="cust_addr"></property>
</class>
</hibernate-mapping>
5、創建Hibernate核心配置文件(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>
<!-- 數據庫連接的基礎配置,必須項 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.password">password</property>
<property name="hibernate.connection.url">jdbc:mysql:///hibernate1</property>
<property name="hibernate.connection.username">root</property>
<!-- 數據庫方言(此處選為mysql) -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 控制臺是否打出sql -->
<property name="hibernate.show_sql">true</property>
<!-- sql語句是否格式化 -->
<property name="hibernate.format_sql">true</property>
<!-- 映射文件加載 -->
<mapping resource="com/hibernate/domain/Customer.hbm.xml"/>
</session-factory>
</hibernate-configuration>
6、測試類
package com.hibernate.test;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
import com.hibernate.domain.Customer;
public class Test {
@org.junit.Test
public void test() {
//1、創建Configuration對象,對應hibernate的基本配置信息和對象關系映射信息(即hibernate.cfg.xml 及 XXX.hbm.xml信息)
Configuration configuration = new Configuration().configure();
//2、 創建一個 ServiceRegistry 對象
//hibernate 的任何配置和服務都需要在該對象中注冊后才能有效.
ServiceRegistry serviceRegistry =
new ServiceRegistryBuilder().applySettings(configuration.getProperties())
.buildServiceRegistry();
//3、創建sessionFactory
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
//4. 創建一個 Session 對象
Session session = sessionFactory.openSession();
//5、 開啟事務
Transaction transaction = session.beginTransaction();
//6、查詢編碼(主鍵)為1 的用戶
Customer customer = (Customer)session.get(Customer.class,1);
System.out.println(customer);
//7、提交事務
transaction.commit();
//8、關閉資源
session.close();
sessionFactory.close();
}
}
智能推薦
Hibernate概述__環境搭建
創建數據庫(僅僅創建數據庫)并且創建實體類,生成屬性的get和set方法 hibernate映射配置文件文件的配置 位置:任意,建議在同類名的包中 名稱:隨意,建議類名.hbm.xml hibernate核心配置文件 位置:必須在src下邊 名稱:必須是hibernate.cfg.xml 代碼實現測試過程: 加載hibernate核心配置文件(找到src下面hibernate.cfg.xml,在h...
hibernate環境搭建
定義 orm: Object Relationship Mapping 對象關系映射 對jdbc進行了輕量級的封裝。 流程 jdbc充當了持久化層。 其它ORM mybatis EJB TOPlink 步驟 配置文件 文件應該放在classpath根路徑下,因為config默認讀取該文件的位置是根路徑下。 create : 會根據 .hbm.xml 文件來生成數據表, 但是每次運行都會刪除上一次的...
Hibernate環境的搭建
導入Hibernate所需的jar包 1)導入lib\required目錄下的jar包 2)導入lib\jpa-metamodel-generator下的jar包 3)因為hibernate沒有日志包,所以需要導入第三方的日志包及jar包 編寫實體類User User.java 配置實體類和數據庫表--對應關系(映射關系) 在U...
Hibernate環境搭建
一、環境準備 1、hibernate-release-4.3.11.Final 2、jdk 1.7 3、mysql hibernate4 官方架包下載可參考我的另一篇文章:三大框架官方架包下載方法 二、開始搭建: 1、創建java項目: 2、導入hibernate必需架包:位于 \hibernate-release-4.3.11.Final\lib\required\目錄下.。 序號 hibern...
猜你喜歡
Hibernate框架 環境搭建
版本信息: Hibernate:5.8.0 MySQL:8.0.21 項目結構: 步驟: 1.導入相關jar包 解壓縮hibernate壓縮包之后,相關jar包目錄如下,將目錄下的所有jar包導入到項目中(導入的位置不固定,可以自己創建一個文件夾用來存放導入的jar包) 除此之外還需要導入的jar包 1). 連接MySQL的jar包 2). javaee-api-7.0.jar 當導入的jar包顯...
Hibernate(2)_Hibernate 環境搭建
本系列博客匯總在這里:Hibernate 匯總 環境搭建 一、文件下載 二、搭建環境 1、建立一個 java 項目 2、導包 3、創建 hibernate.cfg.xml 4、創建實體類(model) 源碼工程文件為: 一、文件下載 官網下載地址 :http://hibernate.org/orm/downloads/ 本教程使用的:點擊下載,提取碼:bszm。 官方文檔:點擊下載,提取碼:qkb...
Hibernate學習筆記 -- day01 Hibernate介紹及入門案例環境搭建
一、什么是ORM object Relation Mapping:對象關系映射,即把實體類和數據庫表建立起來的對應關系 二、Hibernate開發包介紹 三、搭建 Hibernate 的前期開發環境 1、創建數據庫,導入數據 2、創建java工程,導入jar包 (1)、9個必要的jar包 (2)、3個日志依賴的包 (3)、mysql數據庫驅動包 3、根據數據庫編寫對應的實體...
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...