""" 数据库连接及操作 """ import pymysql import os import sys sys.path.append(os.getcwd()) from application.config.common.log import Local from application.config.mysql_config import env_dict class MysqlHelper(object): """ MySQL工具, env默认prod版本 """ def __init__(self, env="prod", mode='', platform='', action=''): mysql_config = env_dict[env] self.connection = pymysql.connect( host=mysql_config['host'], # 数据库IP地址,内网地址 port=mysql_config['port'], # 端口号 user=mysql_config['user'], # mysql用户名 passwd=mysql_config['passwd'], # mysql用户登录密码 db=mysql_config['db'], # 数据库名 charset=mysql_config['charset'] # 如果数据库里面的文本是utf8编码的,charset指定是utf8 ) self.mode = mode self.platform = platform self.action = action def select(self, sql): """ 查询 :param sql: :return: """ cursor = self.connection.cursor() cursor.execute(sql) data = cursor.fetchall() return data def select_params(self, sql, params=None): cursor = self.connection.cursor() cursor.execute(sql, params or ()) # 支持参数化查询 data = cursor.fetchall() return data def update(self, sql): """ 插入 :param sql: :return: """ cursor = self.connection.cursor() try: res = cursor.execute(sql) self.connection.commit() return res except Exception as e: Local.logger(self.mode, self.platform).error(f"update_values异常,进行回滚操作:{e}\n") self.connection.rollback() def close(self): """ 关闭连接 """ self.connection.close()