用于安全和原子数据库连接的上下文管理器

Conntext的Python项目详细描述


用于安全和原子数据库连接的上下文管理器

基本原理

  • 每个上下文都是一个原子进程(“要么全部发生,要么什么都不发生”)
  • 没有手动的commit(成功)、rollback(失败)或close(任何一个)
  • 无ORM

用法

没有连接文本,

conn=sqlite3.connect(":memory:")try:cursor=conn.cursor()try:cursor.execute("CREATE TABLE person (name)")cursor.execute("INSERT INTO person (name) VALUES (?)",["microamp"])exceptException:raisefinally:cursor.close()exceptException:conn.rollback()raiseelse:conn.commit()finally:conn.close()

使用conntext,

fromconntextimportconntextwithconntext.conn(sqlite3.connect(":memory:"))asconn:withconntext.cursor(conn.cursor())ascursor:cursor.execute("CREATE TABLE person (name)")cursor.execute("INSERT INTO person (name) VALUES (?)",["microamp"])

许可证

所有代码都是在gnu lesser通用公共许可(v3+)下授权的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
具有未知数量条件的java If语句   java如何在Spark中使用两个“条件”进行过滤?   雅加达ee为ColdFusion提供的最佳Java ee服务器   java如何在jersey的MessageBodyWriter方法中获取writeTo中的anotations值?   java从脚本文件调用jar文件中的函数   java在执行insert语句后,如何获得id值为的语句?   在OS X上设置OpenCV Java绑定   java使用for循环遍历数组x。以字符串形式返回x的元素,其中每个元素由一个空格分隔   ApacheiClientBuilder为Algolia Java创建的APIClient是线程安全的吗?   java在DFS/BFS算法中获取邻居时避免内存分配?   java使用AES/CBC/PKCS5P加密大文件(2GB)   允许保存/加载列布局的Java DB网格组件   队列大小为1的java Spring调度   跑步带有Java参数的exe   java正则表达式将所有“<”和“>”标记替换为“&lt;”及“&gt;”在<<![CDATA]>标签?   java何时同步变量?