• pymysql装饰器封装


    pymysql装饰器封装

    def openClose(fun):
        def run(sql=None):
            coon =pymysql.connect(host='localhost' ,port=3306 ,user='root', password='1234qwer', db='test', charset='utf8')
            cursor = coon.cursor()
            try:
                cursor.execute(fun( sql))
                data = cursor.fetchall()
                coon.commit()
                print(data)
            except Exception as e:
                coon.rollback()
                print('运行', str(fun), '方法时出现错误,错误代码:', e)
            finally:
                cursor.close()
                coon.close()
        return run
    
    @openClose
    def runSql(sql=None):
        if sql is None:
            sql = 'select * from students1'
        return sql
    
    runSql()
    runSql(‘select * from students1‘ where name= ‘tom1’)

    添加时间记录功能

    添加时间记录功能
    def openClose(fun):
        def run(sql=None):
            coon =pymysql.connect(host='localhost' ,port=3306 ,user='root', password='1234qwer', db='test', charset='utf8')
            cursor = coon.cursor()
            try:
                start_time = time.time()
                cursor.execute(fun( sql))
                data = cursor.fetchall()
                coon.commit()
                end_time = time.time()
                print('持续时间:'+str(end_time - start_time))
                print(data)
            except Exception as e:
                coon.rollback()
                print('运行', str(fun), '方法时出现错误,错误代码:', e)
            finally:
                cursor.close()
                coon.close()
        return run
    
    @openClose
    def runSql(sql=None):
        if sql is None:
            sql = 'select * from students1'
        return sql
    
    runSql()
    输出:

     open_and_close_db 重要!重要!重要!

    open_and_close_db  重要!重要!重要!
    
    def open_and_close_db(do_sql):
        def wrapper(sql='select * from students1'):
            coon = pymysql.connect(host='localhost' ,port=3306 ,user='root', password='1234qwer', db='test', charset='utf8')
            cursor = coon.cursor()
            start_time = time.time()
            do_sql(cursor, coon, sql)
            cursor.close()
            coon.close()
            end_time = time.time()
            print('持续时间:' + str(end_time - start_time))
        return wrapper
    
    @open_and_close_db
    def do_sql(cursor,coon,sql):
        try:
            cursor.execute(sql)
            data = cursor.fetchall()
            coon.commit()
            print(data)
        except Exception as e:
            coon.rollback()
            print('运行时出现错误,错误代码:', e)
    
    do_sql()
    do_sql("update students1 set name = 'tom99999' where score = 44")

    输出:

  • 相关阅读:
    对JAVA集合进行遍历删除时务必要用迭代器
    【javascript的那些事】等待加载完js后执行方法
    【微信H5】 Redirect_uri参数错误解决方法
    关于Java优质代码的那些事
    H5页面微信分享和手Q分享设置
    LVS+keepalived-DR模式
    Linux文件误删恢复
    MySQL常用语句
    sudo权限配置
    Rsync同步部署web服务端配置
  • 原文地址:https://www.cnblogs.com/111testing/p/12007249.html
Copyright © 2020-2023  润新知