python DButils使用
时间: 2024-12-17 14:36:05 浏览: 5
DBUtils是一个Python数据库操作库,它提供了一个统一的接口来处理各种数据库连接,如MySQL、PostgreSQL等。它主要用于简化数据库连接管理、事务处理以及异常处理等工作,让你可以更专注于业务逻辑。
使用DBUtils,你可以通过`pooled_db`模块创建一个连接池,这有助于复用连接,提高性能。它的核心类包括`ConnectionPool`(连接池)、`DictCursor`(字典化的游标)和`ThreadedDatabaseError`(线程安全的数据库错误处理)。以下是一个简单的示例:
```python
from dbutils.pooled_db import PooledDB
# 创建连接池配置
config = {
'database': 'testdb',
'user': 'username',
'password': 'password',
'host': 'localhost',
'port': 3306,
}
# 使用配置创建连接池
pool = PooledDB(
creator=lambda: pymysql.connect(**config),
maxconnections=5, # 连接池最大连接数
mincached=2, # 最小连接数,保持至少这个数量的空闲连接
maxcached=5, # 最大空闲连接数
maxshared=3, # 可供多个线程共享的最大连接数
blocking=True, # 阻塞获取连接,默认False,阻塞直到获取到可用连接
maxusage=None, # 连接最大有效使用次数,None表示无限次
setsession=[], # 开始会话前执行的命令列表
ping=0, # 判断连接是否有效的检查间隔,单位为秒
isolation_level='READ COMMITTED', # 设置隔离级别
)
# 获取连接并执行SQL
with pool.connection() as conn:
cursor = conn.cursor()
cursor.execute('SELECT * FROM table_name')
result = cursor.fetchall()
# 关闭游标和连接
cursor.close()
conn.close()
阅读全文