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>  

相关内容