zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    layui + mvc + ajax 导出Excel功能
    PL/SQL Developer工具包和InstantClient连接Oracle 11g数据库
    .NET中JSON的序列化和反序列化的几种方式
    C# 编程中的堆栈(Stack)和队列(Queue)
    Oracle 数据库常用操作语句大全
    C#方法中参数ref和out的解析
    JS实现限行
    ajax+ashx 完美实现input file上传文件
    HTML5 学习
    Linux文件和目录操作管理命令
  • 原文地址:https://www.cnblogs.com/leslie003/p/11399780.html
Copyright © 2011-2022 走看看