• Hibernate使用连接池


    应用服务器或第三方C3P0的连接池

    1.Tomcat中配置如下:

    Tomcat/conf/context.xml中

    <Context>

        <!-- Default set of monitored resources -->
        <WatchedResource>WEB-INF/web.xml</WatchedResource>
        <Resource name="jdbc/hib" auth="Container" type="javax.sql.DataSource"
        maxActive="100" maxIdle="30" maxWait="10000" username="root" password="123456"
        driverClassName="com.mysql.jdbc.Driver"
        url="jdbc:mysql://localhost:3306/hib"
        />
      </Context>

    注意把数据库驱动包放到tomcat的lib下。

    使用应用服务器的连接池只能在web应用中使用,本地的junit或main主函数中获取sessionFactory是不行的。

    hibernate.cfg.xml

    <property name="connection.datasource">java:comp/env/jdbc/hib</property>
    2.c3p0

    <property name="connection.url">
        jdbc:mysql://localhost:3306/hib
    </property>
    <property name="connection.username">root</property>
    <property name="connection.password">123456</property>
    <property name="connection.driver_class">
        com.mysql.jdbc.Driver
    </property>

    <property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
        <!-- 每次用完新建连接的数量 -->
        <property name="hibernate.c3p0.acquire_increment">2</property>
        <!-- 检查连接池中空闲连接的时间间隔,以秒为单位 -->
        <property name="c3p0.idle_test_period">120</property>
        <!-- 最大连接数 -->
        <property name="c3p0.max_size">10</property>
        <!-- 最小连接数 -->
        <property name="c3p0.min_size">10</property>
        <!-- 设置连接池中Statement对象的最大数量 -->
        <property name="c3p0.max_statements">50</property>
        <!-- 连接池中连接的最大空闲时间,超时后被删除 -->
        <property name="c3p0.timeout">3600</property>

       

  • 相关阅读:
    LeetCode#34 Search for a Range
    Multiplication algorithm
    LeetCode#31 Next Permutation
    Spring boot之Hello World
    spring boot 简介
    分布式-网络通信-线程
    分布式-网络通信-协议
    分布式-架构图
    9.leetcode70-climbing stairs
    8.Leetcode69 Sqrt(x) 笔记
  • 原文地址:https://www.cnblogs.com/tazi/p/2315619.html
Copyright © 2020-2023  润新知