Hibernate学习笔记----数据库连接池配置

 <!--配置c3p0数据源-->
        <!--数据库连接池最大连接数-->
        <property name="hibernate.c3p0.max_size">10</property>
        <!--数据库连接池最小连接数-->
        <property name="hibernate.c3p0.min_size">5</property>
        <!--当数据库连接池中连接耗尽时,同一时刻获取多少个数据库连接-->
        <property name="c3p0.acquire_increment">2</property>

        <!--数据库连接池中连接对象在多长时间没有使用过后,就应该被销毁-->
        <property name="c3p0.idle_test_period">2000</property>
        <!--表示连接池检测线程多长时间检测一次池内的所有对象是否超时,
        连接池本身不会把自己从连接池中中移除,而是专门又一个线程按照一定的时间间隔来做这件事,
        这个线程通过比较连接对象最后一次被使用时间和当前时间的时间差和timeout做比较,进而决定是否销毁这个连接对象-->
        <property name="c3p0.timeout">2000</property>

        <!--缓存Statement对象的数量-->
        <property name="c3p0.max_statements">10</property>


        <!--以下两个配置项对mysql无效,对oracle有效,有显著的性能提升-->
        <!--设定JDBC的statement读取数据的时候的每次从数据库中取出的记录条数,100 是最合适的 -->
        <property name="hibernate.jdbc.fetch_size">100</property>

        <!--设定数据库进行批量删除,批量更新和批量插入的时候的批次大小-->
        <property name="hibernate.jdbc.batch_size">30</property>

配置完了c3p0数据源之后,执行如下操作

public void testDoWork()
    {
        session.doWork(new Work() {
            @Override
            public void execute(Connection connection) throws SQLException {
                System.out.println(connection); // jdbc原生connection
                //调用存储过程,和jdbc写法一样

            }
        });
    }

会发现数据源已经改为了c3p0了,如果无任何数据源信息,则使用的是jdbc原生的连接对象,一般的生产环境中,都会要求使用数据库连接池的,原因嘛,就是提高效率咯


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值