1:主配置文件主要分爲三部分:
注意:一般狀況下,一個session-factory節點表明一個數據庫;
1.1:第一部分
數據庫鏈接部分,注意"hibernate.connection.driver_class"中間的 _;
1.2:第二部分
其餘相關配置,包含打印sql語句,格式化sql語句,建立數據表或者更新數據表等等
1.3:第三部分
加載全部的映射;html
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- 第一部分:數據鏈接配置 --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/hibernate_test</property> <property name="connection.username">json</property> <property name="connection.password">123456</property> <!-- 第二部分:其餘相關配置 --> <!-- 數據庫方言 - 配置hibernate方言,可針對特定的數據庫優化。 --> <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property> <!-- 是否在運行時候sql語句輸出到控制檯,編碼階段便於測試的。(默認設置爲true)--> <property name="show_sql">true</property> <!-- 輸出在控制檯sql語句是否進行格式化,便於閱讀。(默認設置爲true) --> <property name="format_sql">true</property> <!-- 可幫助由java代碼生成數據庫腳本,進而生成具體表結構。如:create/update/create-drop/validate create: 每次都從新建表,原來的表刪除,同時數據所有清楚從新插入數據。(每次加載hibernate,從新建立數據庫表結構,這就是致使數據庫表數據丟失的緣由。) create-drop: 每次在建立sessionFactory時執行建立表,當調用sessionFactory的close方法的時候,刪除表 (在實際項目中不用) update: 只是根據映射文件去和數據庫中的表對應起來,若是不一致,就更新表的結構 validate: 加載hibernate時,驗證建立數據庫表結構,若是是不一樣的話則不建立表。 PS: 1.請慎重使用 hbm2ddl.auto 此參數,不必就不要隨便用。 2.若是發現數據庫表丟失,請檢查hibernate.hbm2ddl.auto的配置 --> <property name="hbm2ddl.auto">update</property> <!-- 第三部分:加載全部的映射(*.hbm.xml) --> <mapping resource="com/demo/pojo/User.hbm.xml"></mapping> </session-factory> </hibernate-configuration>
PS:源碼地址 https://github.com/JsonShare/hibernate-demojava
PS:原文地址 http://www.cnblogs.com/JsonShare/p/8647559.htmlmysql