開發第一個hibernate例子
1、導入hibernate所需的jar包,導入JDBC連接的驅動包
<?xml version="1.0"?>
⑤id標籤和property標籤中column屬性可以省略,省略時生成的數據庫表默認與實體類屬性相同。
⑥property標籤type屬性,設置生成表字段的類型,可以省略,會自動對應類型。
4、Hibernate的核心配置文件的編寫
Hibernate配置文件名爲:hibernate.cfg.xml,一般不要修改名稱,並放在src目錄下,該文件的主要目的是爲了連接到數據庫。
以MySql爲例:
<?xml version="1.0" encoding="UTF-8"?>
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8
rootrootorg.hibernate.dialect.MySQLDialecttruetrue
// 第一步 加載hibernate核心配置文件
//在src下面找到hibernate.cfg.xml
Configuration cfg = new Configuration().configure();
// 第二步 獲取sessionFaction對象,讀取hibernate核心配置文件,創建SessionFactory
// 根據映射關係,在配置的數據庫裏創建表
SessionFactory sf = cfg.buildSessionFactory();
// 第三步 獲取session對象
//類似於連接
Session session = sf.openSession();
//第四步 開啓事務
Transaction ts=session.beginTransaction();
//第五步 增刪改查
User user = new User();
user.setUsername("小一");
user.setPassword("123");
session.save(user);
//第六步 提交事務
ts.commit();
//第七步 關閉資源
session.close();
sf.close();
Hibernate 5 個核心接口:
①Configuration接口:加載hibernate核心配置文件,在src下面找到hibernate.cfg.xml,把配置文件放到對象裏面。
Configuration
cfg=new
Configuration().configure();
②SessionFactory接口:創建sessionFaction對象,讀取hibernate核心配置文件,根據核心配置文件中數據庫的配置、映射關係,在數據庫裏創建表。
SessionFactory sf=cfg.buildSessionFactory();
創建SessionFactory的過程中,這個過程是消耗資源,性能低,一般在Hibernate操作中一個項目創建一個SessionFactory對象。(寫一個工具類,寫靜態代碼塊實現。)
public class HibernateUtil{
static Configuration cfg = null;
static SessionFactory sf = null;
static{
cfg = new Configuration().configure();
SessionFactory sf = cfg.buildSessionFactory();
}
public static SessionFactory getSessionFactory(){
return sf;
}
}
③Session接口:類似於jdbc中的connection。單線程對象,session對象不能共用。
Sessionsession=sf.openSession();
保存:save方法、修改:update方法、刪除:delete方法、查詢:根據id用get方法。
④Transaction接口:管理事務。
Transaction ts=session.beginTransaction();
ts.commit();//提交事務
ts.rollback();//事務回滾