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)
  • 相关阅读:
    揭开Future的神秘面纱——任务取消
    阻塞队列和生产者-消费者模式
    ExecutorService——<T> Future<T> submit(Callable<T> task)
    ExecutorService接口概要
    Executor简介
    使用显式的Lock对象取代synchronized关键字进行同步
    SingleThreadExecutor(单线程执行器)
    后台线程(daemon)
    加入一个线程
    计算机网络的一些英文缩写词
  • 原文地址:https://www.cnblogs.com/leslie003/p/11399780.html
Copyright © 2011-2022 走看看