hibernate鏈接MySQL配置hibernate.cfg.xml

 今天剛學完hibernate因此急着作一個hibernate的項目,有不足的請幫我改正一下。謝謝你們mysql

<hibernate-configuration>
    <session-factory name="mySessionFactory">
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>//MySQL驅動類
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/myee</property>//MySQL鏈接端口號(3306)與數據庫(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根據你選擇的「方言」,針對每種數據庫,做調整,如生成不一樣的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>//設定的時間間隔去自動校驗連接對象並銷燬timeout的        <property name="c3p0.max_size">100</property>//最大鏈接數
        <property name="c3p0.min_size">15</property>//最小鏈接數
        <property name="c3p0.max_statements">100</property>//JDBC的標準參數,用以控制數據源內加載的PreparedStatements數量。但因爲預緩存的statements屬於單個 connection而不是整個鏈接池。因此設置這個參數須要考慮到多方面的因素。若是maxStatements與 maxStatementsPerConnection均爲0,則緩存被關閉
        <property name="c3p0.timeout">1000</property>//鏈接超時時間
        
        <property name="hibernate.show_sql">true</property>//顯示hibernate對數據庫操做語句
        <property name="hibernate.format_sql">true</property>//格式化Hibernate的SQL輸出語句
        <property name="hibernate.hbm2ddl.auto">update</property>//自動建立|更新|驗證數據庫表結構。若是不是此方面的需求建議set value="none"
經常使用屬性有create、update
create:
   每次加載hibernate時都會刪除上一次的生成的表,而後根據你的model類再從新來生成新表,哪怕兩次沒有任何改變也要這樣執行,這就是致使數據庫表數據丟失的一個重要緣由。
create-drop :
    每次加載hibernate時根據model類生成表,可是sessionFactory一關閉,表就自動刪除。
update:
    最經常使用的屬性,第一次加載hibernate時根據model類會自動創建起表的結構(前提是先創建好數據庫),之後加載hibernate時根據model類自動更新表結構,即便表結構改變了但表中的行仍然存在不會刪除之前的行。要注意的是當部署到服務器後,表結構是不會被立刻創建起來的,是要等應用第一次運行起來後纔會。
validate :
    每次加載hibernate時,驗證建立數據庫表結構,只會和數據庫中的表進行比較,不會建立新表,可是會插入新值。
<mapping resource="com/rjxy/strutstag/entity/User.hbm.xml"/>//與實體類鏈接(包名com/rjxy/strutstag/entity/實體類的xml

</session-factory> </hibernate-configuration>
相關文章
相關標籤/搜索