Beispiel #1
0
 def __init__(self):
     try:
         self.pool = pool
         self.conn = pool.connection()
         self.cur = self.conn.cursor(pymysql.cursors.DictCursor)
     except pymysql.Error as e:
         logger.error("服务器连接失败!")
         logger.exception(e)
Beispiel #2
0
 def select_all(self, query, params=None):
     '''
     查询数据表的单条数据
     :param query:包含%s的sql字符串,当params=None的时候,不包含%s
     :param params:一个元祖,默认为None
     :return:如果执行未crash,并以包含dict的列表的方式返回select的结果,否则返回错误代码001
     '''
     try:
         self.cur.execute(query, params)
         # self.cur.scroll(0, "absolute")  # 光标回到初始位置,感觉这里得这句有点多余
         return self.cur.fetchall()
     except BaseException as e:
         logger.info("[sql_query] - %s" % query)
         logger.info("[sql_params] - %s" % params)
         logger.exception(e)
         return None  # 错误代码001
Beispiel #3
0
 def insert_many(self, query, params):
     '''
     向数据表中插入多条数据
     :param query:包含%s的sql字符串,当params=None的时候,不包含%s
     :param params:一个内容为元祖的列表
     :return:如果执行过程没有crash,返回True,反之返回False
     '''
     try:
         self.cur.executemany(query, params)
         self.conn.commit()
         return True
     except BaseException as e:
         self.conn.rollback()
         logger.info("[sql_query] - %s" % query)
         logger.info("[sql_params] - %s" % params)
         logger.exception(e)
         return False
Beispiel #4
0
 def op_sql(self, query, params=None):
     '''
     单条数据的操作,insert,update,delete
     :param query:包含%s的sql字符串,当params=None的时候,不包含%s
     :param params:一个元祖,默认为None
     :return:如果执行过程没有crash,返回True,反之返回False
     '''
     try:
         self.cur.execute(query, params)
         self.conn.commit()
         return True
     except BaseException as e:
         self.conn.rollback()  # 如果这里是执行的执行存储过程的sql命令,那么可能会存在rollback的情况,所以这里应该考虑到
         logger.info("[sql_query] - %s" % query)
         logger.info("[sql_params] - %s" % (params,))
         logger.exception(e)
         return False