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)
  • 相关阅读:
    Openssl s_time命令
    Openssl speed命令
    Openssl s_client命令
    Openssl s_server命令
    Openssl smime命令
    关于静态与非静态之具体总结
    C++游戏系列2:角色装备武器
    POJ 2398 Toy Storage(计算几何)
    Oracle核心技术 笔记(该书读得不细致,须要找时间再细读~~)
    还在为开发APP发愁? 这里就有现成通用的代码!
  • 原文地址:https://www.cnblogs.com/leslie003/p/11399780.html
Copyright © 2011-2022 走看看