Python3数据库封装

# coding=utf-8
__author__ = "leslie"
import pymysql,pymysql.err
from CaseApi.common.readConfig import read
from CaseApi.common.caseLog import Log

class MysqlDb:
def __init__(self):
self.log = Log() # 实例化日志类
def __db(self):
     '''定义私有方法连接数据库'''
host = read('mysql','host')
user = read('mysql','user')
password = read('mysql','password')
database = read('mysql','db')
try:
self.db = pymysql.connect(host,user,password,database)
return self.db
except Exception as e:
self.log.error ("链接出错: %s"%e)
# self.__db = pymysql.connect(host, user, password, database)
# return self.__db

def select(self,form,table,condition):
sql = '''select {} from {} {};'''.format(form,table,condition)
self.log.info(sql)
cursor = self.__db().cursor()
try:
cursor.execute(sql)
result = cursor.fetchall()
self.__db().close()
self.log.debug(result)
list = []
for i in result:
date = {}
date['user'] = i[0]
date['psw'] = i[1]
date['mail'] = i[2]
list.append(date)
return list
except Exception as e:
self.log.error(e)

def insert(self,table):
sql = '''insert into %s;'''%table
self.log.info(sql)
cursor = self.__db().cursor()
try:
cursor.execute(sql)
self.__db().commit()
self.__db().close()
except Exception as e:
self.log.error(e)

def update(self,table,condition):
sql = '''update {} set {};'''.format(table,condition)
self.log.info(sql)
cursor = self.__db().cursor()
try:
cursor.execute(sql)
self.__db().commit()
self.__db().close()
except Exception as e:
self.log.error(e)

def delete(self,table,condition):
sql = '''delete from {} {};'''.format(table,condition)
self.log.info(sql)
cursor = self.__db().cursor()
try:
cursor.execute(sql)
self.__db().commit()
self.__db().close()
except Exception as e:
self.log.error(e)
原文地址:https://www.cnblogs.com/leslie003/p/11399780.html