Python学习笔记-数据库操作

2014-11-23 22:22:20 · 作者: · 浏览: 14

主要是通过python的DBUtils库、MySQLdb库来实现连接池操作数据库


import MySQLdb

from DBUtils.PooledDB import PooledDB

class DBHelper(object):

__pool = None

def __init__(self):
self._conn = DBHelper.__getConnection()
self._cursor = self._conn.cursor()

@staticmethod
def __getConnection():
if DBHelper.__pool is None :
__pool = PooledDB(creator = MySQLdb,
mincached=1,
maxcached=20,
host = '127.0.0.1',
port = 3306,
user = 'root',
passwd = '123456',
db = 'test')

return __pool.connection()

def execute(self, sql, parameter=None):
if parameter is None:
self._cursor.execute(sql)
else :

self._cursor.execute(sql, parameter)

def readOne(self, sql, parameter=None):
if parameter is None :
count = self._cursor.execute(sql)
else :
count = self._cursor.execute(sql, parameter)
if count > 0:
return self._cursor.fetchone()
else :
return None

def readList(self, sql, parameter=None):
if parameter is None :
count = self._cursor.execute(sql)
else :
count = self._cursor.execute(sql, parameter)
if count > 0:
return self._cursor.fetchall()
else :
return None

def commint(self):
self._conn.commit()

def close(self):
if self._cursor :
self._cursor.close()
if self._conn :
self._conn.close()