python的数据库层封装_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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值