给PyBatis添加数据库连接池支持-pybatis的准备阶段(十二)

本文介绍了一个为PyMyBatis设计的数据库连接池实现。通过使用DBUtils的PooledDB来创建连接池,可以有效减少每次新建数据库连接的成本。用户可以通过初始化ConnectionPool类并调用getConnection方法获取连接,并需手动关闭。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我在这篇文章中大概介绍了一下DBUtil的用法。

现在是时候给pybatis添加数据库连接池的支持了。不然每次都新建连接,代价还是蛮高的。

这里使用了DBUtils搭建了数据库连接池。目的是给pybatis提供数据库连接。

其实仅仅是封装了DBUtils中的PooledDB。

# -*- coding:utf-8 -*-
'''
Created on 2013-3-12

@author: naughty
'''

from DBUtils import PooledDB
import MySQLdb
class ConnectionPool(object):
    '''
    数据库连接池。这个类只提供连接,使用者需要自己手动关闭连接
    '''

    def __init__(self, serverhost, username, password, db):
        '''
        构造函数
        mincached: initial number of idle connections in the pool
            (0 means no connections are made at startup)
        maxcached: maximum number of idle connections in the pool
            (0 or None means unlimited pool size)
        '''
        self.pool = PooledDB.PooledDB(MySQLdb, mincached=5, maxcached=100, host=serverhost, user=username, passwd=password, db=db) 
        
    def getConnection(self):
        '''
        取得一个数据库连接
        '''
        return self.pool.connection()
    
    def shutdownAllConnection(self):
        '''
        关闭所有连接
        '''
        for conn in self.pool:
            conn.close()


用户可以直接通过初始化一个该连接池,然后通过getConnection方法得到一个连接。注意,用户需要自己手动关闭连接,就像使用普通的连接一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值