def __init__(self, host, port, user, password, db, charset='utf8', link_type=0): """ link_type = 0 时,数据库返回结果为元组模式 当link_type !=0时,数据库返回结果为字典模式 :param host: :param port: :param user: :param password: :param db: :param charset: :param link_type: """ self.host = host self.port = port self.user = user self.password = password self.db = db self.charset = charset try: self.conn = pymysql.connect(host=self.host, port=self.port, user=self.user, password=self.password, db=self.db, charset=self.charset) if link_type == 1: self.cur = self.conn.cursor(pymysql.cursors.DictCursor) else: self.cur = self.conn.cursor() except Exception: mylogger.info(u'Mysql数据库连接失败!')
def opt_one(self, params): """ 操作单条数据 :param params: :return: """ try: row = self.cur.execute(params) self.conn.commit() result = {'code': '0000', 'message': '执行单条数据成功', 'data': int(row)} except: result = {'code': '9999', 'message': '执行单条数据失败', 'data': []} mylogger.info('Mysql操作单条数据失败') return result
def select_one(self, params): """ 查询一条数据 :param params: :return: """ try: self.cur.execute(params) result = self.cur.fetchone() result = {'code': '0000', 'message': u'执行单条查询操作成功', 'data': result} except: result = {'code': '9999', 'message': u'执行单条查询异常', 'data': []} mylogger.info(u'Mysql查询失败!') return result
def opt_many(self, stmt, data): """ 多条数据 :param stmt: :param data: :return: """ try: row = self.cur.executemany(stmt, data) self.conn.commit() result = {'code': '0000', 'message': '插入多条数据成功', 'data': int(row)} except: result = {'code': '9999', 'message': '插入多条数据失败', 'data': []} mylogger.info('Mysql 插入多条数据失败') return result
def select_all(self, params): """ 查询所有内容 :param params: :return: """ try: row = self.cur.execute(params) if row > 0: self.cur.scroll(0, mode='absolute') results = self.cur.fetchall() result = {'code': '0000', 'message': '执行查询所有数据成功', 'data': results} else: result = {'code': '0000', 'message': '执行查询所有数据成功', 'data': []} except: result = {'code': '9999', 'message': '执行查询所有数据异常', 'data': []} mylogger.info('Mysql查询多条数据失败!') return result
def http_request(self, interface_url, interface_param, headerdata, request_type): try: if request_type == "get" or request_type == "GET": result = self.__requet_get(interface_url, interface_param, headerdata) elif request_type == "post" or request_type == "POST": result = self.__request_post(interface_url, interface_param, headerdata) else: result = { 'code': '1000', 'message': u'请求类型错误', 'data': request_type } except Exception as error: result = {'code': '9999', 'message': u'系统异常', 'data': []} mylogger.info(error) return result
def __request_post(self, interface_url, interface_param, headerdata): try: if interface_url != '' and interface_param != '': response = requests.post(url=interface_url, data=interface_param, headers=headerdata) if response.status_code == 200: result = { 'code': 200, 'message': '成功', 'data': response.text } else: result = {'code': 2004, 'message': '返回状态码错误', 'data': []} elif interface_url == '': result = {'code': '2002', 'message': '请求地址为空', 'data': []} else: result = {'code': '1000', 'message': '请求类型错误', 'data': []} except Exception as error: mylogger.info(error) return result