<hibernate-configuration> <session-factory name="mySessionFactory"> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>//MySQL驅(qū)動類 <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/myee</property>//MySQL連接端口號(3306)與數(shù)據(jù)庫(myee) <property name="hibernate.connection.username">root</property>//MySQL用戶名 <property name="connection.password">123456</property>//MySQL用戶密碼
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>//dialect翻譯為方言 Hibernate根據(jù)你選擇的“方言”,針對每種數(shù)據(jù)庫,作調(diào)整,如生成不同的SQL語句等
<property name="connection.pool_size">100</property>//連接池大小
<property name="connection.provider_class">org.hibernate.c3p0.internal.C3P0ConnectionProvider</property>//c3p0連接池 <property name="c3p0.acquire_increment">5</property>// <propertyname="c3p0.idle_test_period">60</property>//設(shè)定的時間間隔去自動校驗(yàn)鏈接對象并銷毀timeout的 <property name="c3p0.max_size">100</property>//最大連接數(shù) <property name="c3p0.min_size">15</property>//最小連接數(shù) <property name="c3p0.max_statements">100</property>//JDBC的標(biāo)準(zhǔn)參數(shù),用以控制數(shù)據(jù)源內(nèi)加載的PreparedStatements數(shù)量。但由于預(yù)緩存的statements屬于單個 connection而不是整個連接池。所以設(shè)置這個參數(shù)需要考慮到多方面的因素。如果maxStatements與 maxStatementsPerConnection均為0,則緩存被關(guān)閉 <property name="c3p0.timeout">1000</property>//連接超時時間 <property name="hibernate.show_sql">true</property>//顯示hibernate對數(shù)據(jù)庫操作語句 <property name="hibernate.format_sql">true</property>//格式化Hibernate的SQL輸出語句 <property name="hibernate.hbm2ddl.auto">update</property>//自動創(chuàng)建|更新|驗(yàn)證數(shù)據(jù)庫表結(jié)構(gòu)。如果不是此方面的需求建議set value="none"
常用屬性有create、update
create:
每次加載hibernate時都會刪除上一次的生成的表,然后根據(jù)你的model類再重新來生成新表,哪怕兩次沒有任何改變也要這樣執(zhí)行,這就是導(dǎo)致數(shù)據(jù)庫表數(shù)據(jù)丟失的一個重要原因。
create-drop :
每次加載hibernate時根據(jù)model類生成表,但是sessionFactory一關(guān)閉,表就自動刪除。
update:
最常用的屬性,第一次加載hibernate時根據(jù)model類會自動建立起表的結(jié)構(gòu)(前提是先建立好數(shù)據(jù)庫),以后加載hibernate時根據(jù)model類自動更新表結(jié)構(gòu),即使表結(jié)構(gòu)改變了但表中的行仍然存在不會刪除以前的行。要注意的是當(dāng)部署到服務(wù)器后,表結(jié)構(gòu)是不會被馬上建立起來的,是要等應(yīng)用第一次運(yùn)行起來后才會。
validate :
每次加載hibernate時,驗(yàn)證創(chuàng)建數(shù)據(jù)庫表結(jié)構(gòu),只會和數(shù)據(jù)庫中的表進(jìn)行比較,不會創(chuàng)建新表,但是會插入新值。 <mapping resource="com/rjxy/strutstag/entity/User.hbm.xml"/>//與實(shí)體類連接(包名com/rjxy/strutstag/entity/實(shí)體類的xml)
</session-factory> </hibernate-configuration>
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報(bào)。