歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Hibernate連接配置文件

  1. <!-- C3P0數據源管理連接池 -->  
  2. <?xml version='1.0' encoding='utf-8'?>  
  3. <!DOCTYPE hibernate-configuration PUBLIC  
  4.         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
  5.         "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">  
  6.   
  7. <hibernate-configuration>  
  8.     <session-factory>  
  9.         <!-- Database connection settings -->  
  10.         <property name="connection.driver_class">com.mysql.jdbc.Driver</property>  
  11.         <property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>  
  12.         <property name="connection.username">root</property>  
  13.         <property name="connection.password">root</property>  
  14.   
  15.         <!-- JDBC connection pool (use the built-in)   
  16.         不使用內建連接詞,hibernate參考手冊的一段  
  17.         Hibernate 自帶的連接池算法相當不成熟。它只是為了讓你快些上手,並不適合用於產品系統或性能測試中。   
  18.         出於最佳性能和穩定性考慮你應該使用第三方的連接池。只需要用特定連接池的設置替換 hibernate.connection.pool_size 即可。  
  19.           
  20.         <property name="connection.pool_size">5</property>  
  21.         -->  
  22.         <!-- 自建c3p0連接池,要加入c3p0-0.9.1.jar-->  
  23.           
  24.         <property name="hibernate.c3p0.min_size">5</property>  
  25.         <property name="hibernate.c3p0.max_size">20</property>  
  26.         <property name="hibernate.c3p0.timeout">1800</property>  
  27.         <!-- 最大的PreparedStatement的數量 -->  
  28.         <property name="hibernate.c3p0.max_statements">100</property>   
  29.                 <!--配置默認schema  
  30. <property name="hibernate.default_schema" value="myschema"/>  
  31. -->  
  32.         <!-- SQL dialect -->  
  33.         <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>  
  34.   
  35.         <!-- Enable Hibernate's automatic session context management -->  
  36.         <property name="current_session_context_class">thread</property>  
  37.   
  38.         <!-- Disable the second-level cache  -->  
  39.         <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>  
  40.   
  41.         <!-- Echo all executed SQL to stdout -->  
  42.         <property name="show_sql">true</property>  
  43.           
  44.         <!-- Drop and re-create the database schema on startup -->  
  45.         <property name="hbm2ddl.auto">update</property>  
  46.           
  47.         <mapping resource="net/hnspi/entity/Record.hbm.xml" />  
  48.         <mapping resource="net/hnspi/entity/Account.hbm.xml" />  
  49.            
  50.     </session-factory>  
  51. </hibernate-configuration>  

數據源配置:

[html]

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <Context path="/">    
  3. <Resource auth="Container"   
  4. driverClassName="com.mysql.jdbc.Driver"   
  5. type="javax.sql.DataSource"  
  6. name="jdbc/datasuourcePool"  
  7. url="jdbc:mysql://127.0.0.1:3306/hibernate?useUnicode=true&characterEncoding=GBK&autoReconnect=true"  
  8. username="zhangh"  
  9. password="123456"  
  10. logAbandoned="true"   
  11. maxActive="5"   
  12. maxIdle="2"   
  13. maxWait="5000"   
  14. removeAbandoned="true"   
  15. removeAbandonedTimeout="300"  
  16. testOnReturn="true"   
  17. testWhileIdle="true"   
  18. validationQuery="select now()"/>  
  19. </Context>     

容器管理連接池,連接通過數據源取得

注意:數據庫連接jar包要放到Tomcat(小弟用的是tomcat)的lib目錄,不然會報找不到Driver的錯誤。我想原因大概是由容器管理連接池,就是在服務器啟動的時候,就會建立好連接池,這個時候肯定是需要數據庫連接的jar包。也就是連接的jar包在應用運行之前就已經使用到了,所以放在應用的lib下也不會解決問題。

[html]
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE hibernate-configuration PUBLIC  
  3.         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
  4.         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
  5. <hibernate-configuration>  
  6.     <session-factory>  
  7.         <!-- 交由容器管理數據庫連接池 -->  
  8.         <property name="connection.datasource">java:comp/env/jdbc/datasuourcePool</property>  
  9.         <property name="connection.provider_class">org.hibernate.connection.DatasourceConnectionProvider</property>  
  10.           
  11.           
  12.         <!-- 配置默認schema <property name="hibernate.default_schema" value="myschema"/> -->  
  13.         <!-- SQL dialect -->  
  14.         <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>  
  15.   
  16.         <!-- Enable Hibernate's automatic session context management -->  
  17.         <property name="current_session_context_class">thread</property>  
  18.   
  19.         <!-- Disable the second-level cache -->  
  20.         <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>  
  21.   
  22.         <!-- Echo all executed SQL to stdout -->  
  23.         <property name="show_sql">true</property>  
  24.   
  25.         <!-- Drop and re-create the database schema on startup -->  
  26.         <property name="hbm2ddl.auto">update</property>  
  27.   
  28.         <!-- 配置實體映射 -->  
  29.         <mapping resource="com/akwolf/bean/Event.hbm.xml"/>  
  30.     </session-factory>  
  31. </hibernate-configuration>  
Copyright © Linux教程網 All Rights Reserved