hibernate學習:HelloWorld_xml
一:HelloWorld程式結構
2:相關原始碼
public class Student {
private int id;
private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
Student.hbm.xml:
<?xml version="1.0"?>
hibernate.cfg.xml
<?xml version='1.0' encoding='utf-8'?>
com.mysql.jdbc.Driverjdbc:mysql://localhost:3306/hibernaterootrootorg.hibernate.dialect.MySQLDialect org.hibernate.cache.NoCacheProvidertrueupdate
public class StudentTest {
public static void main(String[] args) {
Student s = new Student();
s.setName("劉彥亮");
s.setAge(27);
Configuration cfg = new Configuration();
// 解析hibernate配置檔案cfg.configure()
// buildSessionFactory建立session工廠
SessionFactory factory = cfg.configure().buildSessionFactory();
//建立session
Session session = factory.openSession();
//開啟事務
session.beginTransaction();
//持久化操作
session.save(s);
//提交事務
session.getTransaction().commit();
//關閉相關資源
session.close();
factory.close();
}
}
3:console輸出
Hibernate: insert into Student (name, age) values (?, ?)
4:知識總結
本例講的是基於xml對映方式的hibernate。
準備條件:
(1)hibernate中心包,hibernate依賴包,slf4j-nop-1.5.8.jar(hibernate依賴包中有:slf4j-api-1.5.8.jar,只是日誌的介面,沒有實現,所以引入對應版本的實現slf4j-nop-1.5.8.jar)
(2)建立model物件
(3)建立hibernate配置檔案hibernate.cfg.xml,配置檔案的名稱約定俗成,最好不要修改。配置檔案的格式最好拷貝hibernate原始碼中的demo。
<property name="hbm2ddl.auto">update</property>可以自動建立資料庫。
(4)有了model,有了資料庫,還需要知道model中的屬性跟資料庫欄位的對應關係。需要Student.hbm.xml,跟model在同一目錄下。
(5)在hibernate.cfg.xml中配置model對映
<mapping resource="com/hibernate/model/Student.hbm.xml" />
單元測試:
(1)建立配置檔案解析物件
Configuration cfg = new Configuration();
(2)cfg.configure();返回的是Configuration自身物件,configure()方法就是會解析hibernate配置檔案,返回一個解析完配置檔案的Configuration 。
(3)cfg.configure().buildSessionFactory()建立session工廠,字面意思session工廠就是來建立session的。
(4)Session session = factory.openSession(); 開啟session。
//開啟事務
session.beginTransaction();
//持久化操作
session.save(s);
//提交事務
session.getTransaction().commit();
//關閉相關資源
session.close();
factory.close();
session.beginTransaction();
//持久化操作
session.save(s);
//提交事務
session.getTransaction().commit();
//關閉相關資源
session.close();
factory.close();
相關文章
- Hibernate學習:初識hibernate
- Hibernate框架學習框架
- Hibernate學習大全
- 跪求 hibernate 學習方法
- hibernate學習資料
- 學習Hibernate原始碼二_Hibernate物件對映檔案hbm學習原始碼物件
- hibernate學習筆記(2)筆記
- hibernate學習筆記(1)筆記
- Hibernate學習筆記二筆記
- hibernate學習:HelloWorld_Annotation
- hibernate學習筆記 1筆記
- Hibernate學習(一)建立資料表
- Hibernate學習(二)儲存資料
- Hibernate原始碼學習五_建立SessionFactory原始碼Session
- Java框架學習之Hibernate入門Java框架
- 學習Hibernate原始碼三_Hibernate中的配置檔案解析原始碼
- Hibernate學習(四)get和Load比較
- Hibernate學習:slf4j日誌框架框架
- Hibernate原始碼學習四 _服務註冊原始碼
- 框架學習:hibernate框架的結構和分析框架
- hibernate學習(六) flush()和clean()區別和使用
- 學習Hibernate5這一篇就夠了
- Hibernate學習(三)一對多資料的儲存
- JAVA高階程式設計之hibernate框架學習二Java程式設計框架
- Java新手如何學習Spring、Struts、Hibernate三大框架?JavaSpring框架
- 學習Hibernate原始碼一_下載hibernate原始碼並編譯為eclipse專案原始碼編譯Eclipse
- 學習Hibernate5 JPA這一篇就夠了
- hibernate初學問題
- 初學Hibernate,請教高手
- Spring4學習(四)Spring4中整合Hibernate4Spring
- Struts+Spring+Hibernate練習(完整)Spring
- 菜鳥學SSH(十)——Hibernate核心介面
- 學習學習再學習
- 菜鳥學SSH(九)——Hibernate——Session之save()方法Session
- Hibernate SQL方言 (hibernate.dialect)SQL
- 深度學習——學習目錄——學習中……深度學習
- 深度學習(一)深度學習學習資料深度學習
- 深度學習學習框架深度學習框架