pymysql简单封装

import pymysql
from Common import dir_config
from Common.readconfig import ReadConfig
import logging
from Common import logger
class DoMysql:
    def __init__(self):
        self.config = ReadConfig().read_config(dir_config.db_config_path, "DB", "Config")
        logging.info("开始连接数据库")
        try:
            self.db = pymysql.connect(**self.config)
            logging.info("连接数据库成功")
        except:
            logging.info("数据库连接失败")
            raise

    def ExecQuery(self, sql):
        '''
        执行查询语句
        :param sql:
        :return:
        '''
        cursor = self.db.cursor()
        try:
            cursor.execute(sql)  # 执行sql、
            logging.info("执行sql成功")
        except:
            logging.info("执行sql失败")
            raise
        # res=cursor.fetchone() #单  返回的是一个元组
        res = cursor.fetchall()  # 多  返回的是一个嵌套元组的列表
        # 关掉游标 关掉连接
        cursor.close()
        self.db.close()
        logging.info("执行结果返回值:{0}".format(res))
        return res

    def ExecNonQuery(self, sql):
        '''
        执行非查询语句
        :param sql:
        :return:
        '''
        cursor = self.db.cursor()
        try:
            cursor.execute(sql)
            logging.info("执行sql成功")
        except:
            logging.info("执行sql失败")
            raise
        # commit()方法:在数据库里增、删、改的时候,必须要进行提交,否则插入的数据不生效。
        self.db.commit()
        cursor.close()
        self.db.close()

  

猜你喜欢

转载自www.cnblogs.com/l7planet/p/11572004.html