美文网首页
数据库连接优化

数据库连接优化

作者: whenitsallover | 来源:发表于2018-03-07 21:32 被阅读0次

    制造一个类,将所有方法全部封装到类中,使用数据库时,只用调用相关的方法即可。

    class SQLManager(object):
    
        # 初始化实例方法
        def __init__(self):
            self.conn = None
            self.cursor = None
            self.connect()
    
        # 连接数据库
        def connect(self):
            self.conn = pymysql.connect(
                host=DB_CONFIG["host"],
                port=DB_CONFIG["port"],
                user=DB_CONFIG["user"],
                passwd=DB_CONFIG["passwd"],
                db=DB_CONFIG["db"],
                charset=DB_CONFIG["charset"]
            )
            self.cursor = self.conn.cursor(cursor=pymysql.cursors.DictCursor)
    
        # 查询多条数据
        def get_list(self, sql, args=None):
            self.cursor.execute(sql, args)
            result = self.cursor.fetchall()
            return result
    
        # 查询单条数据
        def get_one(self, sql, args=None):
            self.cursor.execute(sql, args)
            result = self.cursor.fetchone()
            return result
    
        # 执行单条SQL语句
        def moddify(self, sql, args=None):
            self.cursor.execute(sql, args)
            self.conn.commit()
    
        # 执行多条SQL语句
        def multi_modify(self, sql, args=None):
            self.cursor.executemany(sql, args)
            self.conn.commit()
    
        # 创建单条记录的语句
        def create(self, sql, args=None):
            self.cursor.execute(sql, args)
            self.conn.commit()
            last_id = self.cursor.lastrowid
            return last_id
    
        # 关闭数据库cursor和连接
        def close(self):
            self.cursor.close()
            self.conn.close()
    
        # 进入with语句自动执行
        def __enter__(self):
            return self
        
        # 退出with语句块自动执行
        def __exit__(self, exc_type, exc_val, exc_tb):
            self.close()
    

    相关文章

      网友评论

          本文标题:数据库连接优化

          本文链接:https://www.haomeiwen.com/subject/kfplfftx.html