hibernate:Hibernate连接池小结

来源:互联网 发布:淘宝网雪地靴童鞋 编辑:程序博客网 时间:2024/05/18 02:03
默认:

<?xml version='1.0'encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse HibernateTools.                  -->
<hibernate-configuration>

   <session-factory>
      <!-- JDBC连接信息-->
       <propertyname="connection.username">root</property>
       
       <!-- 如果不想用proxool解决数据库与dao类传输过程中的乱码问题,可以直接这样改正
          <propertyname="connection.url">jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8</property>
        -->
       <propertyname="connection.url">jdbc:mysql://localhost:3306/test</property>
       
       
       
       <propertyname="dialect">org.hibernate.dialect.MySQLDialect</property>
       <propertyname="myeclipse.connection.profile">test923db</property>
       <propertyname="connection.driver_class">com.mysql.jdbc.Driver</property>
      
      <!-- 附属配置信息 -->
      <propertyname="show_sql">true</property>
      <propertyname="format_sql">true</property>
    
      <!-- 映射文件告知 -->
      <mappingresource="com/lovo/bean/UserBean.hbm.xml"/>
      <mappingresource="com/lovo/bean/HusbandBean.hbm.xml"/>
      <mappingresource="com/lovo/bean/WifeBean.hbm.xml"/>
   </session-factory>

</hibernate-configuration>


C3P0:
<?xml version='1.0'encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse HibernateTools.                  -->
<hibernate-configuration>

   <session-factory>
      <!-- JDBC连接信息-->
       <propertyname="connection.username">root</property>
       
       <!-- 如果不想用proxool解决数据库与dao类传输过程中的乱码问题,可以直接这样改正
          <propertyname="connection.url">jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8</property>
        -->
       <propertyname="connection.url">jdbc:mysql://localhost:3306/test</property>
       
       
       
       <propertyname="dialect">org.hibernate.dialect.MySQLDialect</property>
       <propertyname="myeclipse.connection.profile">test923db</property>
       <propertyname="connection.driver_class">com.mysql.jdbc.Driver</property>
      
      <!-- 附属配置信息 -->
      <propertyname="show_sql">true</property>
      <propertyname="format_sql">true</property>
      
      
      
      <!-- C3P0 -->
      <!-- 最大连接数 -->
       <propertyname="hibernate.c3p0.max_size">20</property>
      <!-- 最小连接数-->
      <propertyname="hibernate.c3p0.min_size">5</property>
      <!--获得连接的超时时间,如果超过这个时间,会抛出异常,单位毫秒 -->
      <propertyname="hibernate.c3p0.timeout">120</property>
      <!--最大的PreparedStatement的数量 -->
      <propertyname="hibernate.c3p0.max_statements">100</property>
      <!--每隔120秒检查连接池里的空闲连接 ,单位是秒-->
      <propertyname="hibernate.c3p0.idle_test_period">120</property>
      <!--当连接池里面的连接用完的时候,C3P0一下获取的新的连接数 -->
      <propertyname="hibernate.c3p0.acquire_increment">2</property>
      <!-- 每次都验证连接是否可用-->
     <propertyname="hibernate.c3p0.validate">true</property>

      
      
      <!-- 映射文件告知 -->
      <mappingresource="com/lovo/bean/UserBean.hbm.xml"/>
      <mappingresource="com/lovo/bean/HusbandBean.hbm.xml"/>
      <mappingresource="com/lovo/bean/WifeBean.hbm.xml"/>
   </session-factory>

</hibernate-configuration>


proxool:(这个需要一个单独的xml文件)
<?xml version="1.0"encoding="utf-8"?>
<something-else-entirely>
  <proxool>
   <alias>xml-mysql</alias>
   <driver-url>jdbc:mysql://localhost:3306/test</driver-url>
   <driver-class>org.gjt.mm.mysql.Driver</driver-class>
   <driver-properties>
     <property name="user"value="root"/>
     <property name="password"value=""/>
     
     <!-- 防止从数据库与dao类之间发生乱码,这种情况在数据库的dao类不在同一机子上出现情况上多一点,
        这里也可以通过在<diriver-url>后面直接添加(当作get表单提交字符串拼接)
        
        <driver-url>jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8</driver-url>
        
      -->
     <property name="useUnicode"value="true"/>
     <property name="characterEncoding"value="utf-8"/>
     <property name="zeroDateTimeBehavior"value="convertToNull"/>
   </driver-properties>
   <maximum-connection-count>10</maximum-connection-count>
   
   <!-- 测试看该线程所对的连接是否还可用 -->
   <house-keeping-test-sql>selectCURRENT_DATE</house-keeping-test-sql>
  </proxool>
 
 
  <proxool>
    <alias>xml-oracle</alias>
    
    <driver-url>jdbc:oracle:thin:@localhost:1521:orcl</driver-url>
   <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
   <driver-properties>
     <property name="user"value="scott"/>
     <property name="password"value="tiger"/>
     
     <!-- 防止从数据库与dao类之间发生乱码,这种情况在数据库的dao类不在同一机子上出现情况上多一点,
        这里也可以通过在<diriver-url>后面直接添加(当作get表单提交字符串拼接)
        
        <driver-url>jdbc:oracle:thin:@localhost:1521:orcl?useUnicode=true&characterEncoding=utf-8</driver-url>
      -->
     <property name="useUnicode"value="true"/>
     <property name="characterEncoding"value="utf-8"/>
     <property name="zeroDateTimeBehavior"value="convertToNull"/>
   </driver-properties>
   <maximum-connection-count>10</maximum-connection-count>
   <!-- 测试看该线程所对的连接是否还可用 -->
   <house-keeping-test-sql>selectCURRENT_DATE</house-keeping-test-sql>
  </proxool>
</something-else-entirely>

下面在hibernate.cfg.xml文件中告知
<?xml version='1.0'encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse HibernateTools.                  -->
<hibernate-configuration>


   <session-factory>
      <!-- JDBC连接信息-->
       <propertyname="connection.username">root</property>
       
       <!-- 如果不想用proxool解决数据库与dao类传输过程中的乱码问题,可以直接这样改正
          <propertyname="connection.url">jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8</property>
        -->
       <propertyname="connection.url">jdbc:mysql://localhost:3306/test</property>
       
       
       
       <propertyname="dialect">org.hibernate.dialect.MySQLDialect</property>
       <propertyname="myeclipse.connection.profile">test923db</property>
       <propertyname="connection.driver_class">com.mysql.jdbc.Driver</property>
      
      <!-- 附属配置信息 -->
      <propertyname="show_sql">true</property>
      <propertyname="format_sql">true</property>
      
      
    
      
      
         <propertyname="connection.provider_class">
         org.hibernate.connection.ProxoolConnectionProvider
         </property>
         
         <propertyname="proxool.xml">proxool.xml</property>
         
         <propertyname="proxool.pool_alias">xml-mysql</property>
      
      
      
      
      <!-- 映射文件告知 -->
      <mappingresource="com/lovo/bean/UserBean.hbm.xml"/>
      <mappingresource="com/lovo/bean/HusbandBean.hbm.xml"/>
      <mappingresource="com/lovo/bean/WifeBean.hbm.xml"/>
   </session-factory>

</hibernate-configuration>
0 0
原创粉丝点击