|
# 把连接参数定义成字典
|
import constant
|
from log_module.log import logger_mysql_debug
|
from utils import middle_api_protocol
|
|
config = constant.MYSQL_CONFIG
|
|
|
class Mysqldb:
|
# 初始化方法
|
def __init__(self):
|
pass
|
|
def __request(self, cmd, args):
|
data = {
|
"db": config["database"],
|
"cmd": cmd,
|
}
|
if args:
|
data["args"] = args
|
fdata = middle_api_protocol.load_mysql_cmd(data)
|
try:
|
result = middle_api_protocol.request(fdata)
|
return result
|
except Exception as e:
|
logger_mysql_debug.exception(e)
|
|
# 查询sql语句返回的所有数据
|
def select_all(self, sql):
|
return self.__request("select_all", [sql])
|
|
# 查询sql语句返回的一条数据
|
def select_one(self, sql):
|
return self.__request("select_one", [sql])
|
|
# 查询sql语句返回的几条数据
|
def select_many(self, sql, num):
|
return self.__request("select_many", [sql, num])
|
|
# 增删改除了SQL语句不一样其他都是一样的,都需要提交
|
def execute(self, sql, args=None):
|
return self.__request("execute", [sql, args])
|
|
def execute_many(self, sql, args=None):
|
return self.__request("execute_many", [sql, args])
|
|
# 当对象被销毁时,游标要关闭,连接也要关闭
|
# 创建时是先创建连接后创建游标,关闭时是先关闭游标后关闭连接
|
def __del__(self):
|
pass
|
|
|
if __name__ == '__main__':
|
mysqldb = Mysqldb()
|
# 插入单条数据
|
mysqldb.execute("insert into clients(account,pwd,rule) values(%s,%s,%s)", ("test", 123456, "\"123"))
|
# 插入多条数据
|
mysqldb.execute_many("insert into clients(account,pwd,rule) values(%s,%s,%s)",
|
[("test", 123456, "\"123"), ("test", 123456, "\"123")])
|