python DbUtils 封装
1.python dbutils 说明:
DBUtils是一套Python数据库连接池包,并允许对非线程安全的数据库接口进行线程安全包装。DBUtils来自Webware for Python。
DBUtils提供两种外部接口:
* PersistentDB :提供线程专用的数据库连接,并自动管理连接。
* PooledDB :提供线程间可共享的数据库连接,并自动管理连接。
需要库
1、DBUtils pip install DBUtils
2、pymysql pip install pymysql/MySQLdb
MyDbUtils:
#-*- coding: UTF-8 -*-
import pymysql
from DBUtils.PooledDB import PooledDB
import DB_config as Config
import MySQLdb
'''
@功能:PT数据库连接池
'''
class PTConnectionPool(object):
__pool = None;
# def __init__(self):
# self.conn = self.__getConn();
# self.cursor = self.conn.cursor();
def __enter__(self):
self.conn = self.__getConn();
self.cursor = self.conn.cursor();
print u"PT数据库创建con和cursor";
return self;
def __getConn(self):
if self.__pool is None:
self.__pool = PooledDB(creator=MySQLdb, mincached=Config.DB_MIN_CACHED , maxcached=Config.DB_MAX_CACHED,
maxshared=Config.DB_MAX_SHARED, maxconnections=Config.DB_MAX_CONNECYIONS,
blocking=Config.DB_BLOCKING, maxusage=Config.DB_MAX_USAGE,
setsession=Config.DB_SET_SESSION,
host=Config.DB_TEST_HOST , port=Config.DB_TEST_PORT ,
user=Config.DB_TEST_USER , passwd=Config.DB_TEST_P