zoukankan      html  css  js  c++  java
  • 数据库的操作封装成类

    数据库的操作封装成类

    把数据库操作写成函数:每次都得连接数据库一次连接一次提交,重复操作浪费时间

    把数据库操作写成类:一次连接可以多次提交,最佳重复操作时不需要关闭数据库

    import pymysql
    
    class SQLManager(object):
    
        def __init__(self): #实例化后自动执行此函数
            self.connect()
    
        def connect(self): #此时进入数据库,游标也已经就绪
            self.conn = pymysql.connect(host="127.0.0.1", port=3306, user="root", passwd="123", db="day66", charset="utf8")
            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
    
    
        def run(self, sql, args=None):
            self.cursor.execute(sql, args)
            self.conn.commit()
    
        def create(self, sql, args=None):
            self.cursor.execute(sql, args)
            self.conn.commit()
            ret = self.cursor.lastrowid  # 取到刚才创建的记录的ID
            return ret
    
        def m_create(self, sql, args=None):
            # self.cursor.executemany(sql, [(1, 36), (1, 38), (1, 36)])
            self.cursor.executemany(sql, args)  # 批量执行
            self.conn.commit()
            ret = self.cursor.lastrowid  # 取到刚才创建的记录的ID
            return ret
    
        def close(self):
            self.cursor.close()
            self.conn.close()
    


  • 相关阅读:
    Java面试知识点总结
    Log4j常用配置及使用
    Eclipse+tomcat+axis2进行web service部署
    iframe内点击a标签禁止滚动到顶部
    VScode首选项
    Bookmarks
    VScode常用插件
    slideout
    bs-loading
    iPhone X 上删除白条
  • 原文地址:https://www.cnblogs.com/huanghongzheng/p/11163134.html
Copyright © 2011-2022 走看看