使用decorators轻松包装连接和游标。
wrap-connection的Python项目详细描述
缠绕连接
使用decorators轻松包装连接和游标。
用法示例:
一个简单的用法是:
defmake_connection():importsqlite3returnsqlite3.connect("test.db")@transact(make_connection,"cur","con")defsome_operation(person):insert_sql="INSERT INTO persons (id, name) VALUES (?, ?)"cur.execute(insert_sql,(person.id,person.name))con.commit()@transact(make_connection)defsome_other_operation():select_sql="SELECT id, name FROM persons"result=[]cursor.execute(select_sql)forrincursor.fetchall():result.append(Person(r[0],r[1]))returnresult
它们将在some_operation
和some_other_operation
函数中分隔事务。make_connection
函数用于获取每个事务的连接。