Python的ORM框架SQLObject 1.1.3发布

数据库
SQLObject 1.1.3 发布了,该版本修复了使用 PostgreSQL 的一个bug(SET client_encoding查询增加引号的问题)。

SQLObject 1.1.3 发布了,该版本修复了使用 PostgreSQL 的一个bug(SET client_encoding查询增加引号的问题)。

SQLObject 是一个流行的Python数据库对象映射框架,映射的规则就是表->类、字段->属性

示例代码:

  1. >>> from sqlobject import * 
  2. >>> 
  3. >>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:'
  4. >>> 
  5. >>> class Person(SQLObject): 
  6. ...     fname = StringCol() 
  7. ...     mi = StringCol(length=1, default=None) 
  8. ...     lname = StringCol() 
  9. ... 
  10. >>> Person.createTable() 

使用SQLObject连接数据库与Python

 

向(大多数)编写SQL说再见

当面向对象编程范例满足大多数数据库的关系范例时,通常会看到对象关系映射。对象关系映射是这两个世界的桥梁。它允许您定义与数据库表对应的类。然后您可以使用这些类及其实例上的方法来与数据库交互,而不用编写 SQL。使用对象关系映射并不意味着不需要知道关系数据库如何工作,而是不必要编写 SQL,从而避免编程错误。

您可以找到一打以上的操作 SQL 数据库的开放源码 Python 包,这还没包括用于连接 Python 与特定数据库的特殊用途模块。SQLObject 是其中最好的模块。它是简单易用的完全对象关系映射包。SQLObject 几乎可以完成编程数据库所需的所有操作。

关于 SQLObject 限制

SQLObject 想让您用面向对象的方式而非关系方式进行思考。这有利于您的理解和您的编程生产率,但不利于性能。毕竟,数据库仍是关系型的。如何标记呼叫过的每个电话号码?使用 SQL,您将使用单个 UPDATE 命令。使用 SQLObject,您需要迭代通过整个结果集,并修改每个对象的 last_call 成员,这是非常低效的。

SQLObject 为开发人员时间牺牲了处理器时间。这通常是好的交易,但甚至在简单的应用程序中,您也可能需要下降一个级别到达 Python 数据库接口,为一些关键路径的操作编写原始 SQL。

【编辑推荐】

  1. 使用JMeter创建数据库(MySQL)测试
  2. 如何用Eclipse连接MySQL数据库(傻瓜篇)
  3. MySQL 5.6终于增加新功能了
  4. 设计实例对比:MySQL vs MongoDB
  5. MySQL索引背后的数据结构及算法原理
责任编辑:艾婧 来源: 开源中国社区
相关推荐

2012-03-19 10:10:55

jOOQJava

2012-04-13 09:11:13

JavajOOQ

2012-01-09 10:08:10

JavajOOQ

2012-02-27 09:17:24

JavajOOQ

2012-04-10 09:29:29

jOOQJava

2012-02-01 16:08:05

JavajOOQ

2012-02-13 09:52:56

Java

2009-07-29 08:58:20

NHibernate ORM框架

2012-03-09 09:26:39

JavaHibernate

2011-11-28 09:16:24

Javajooq框架

2012-02-01 09:16:18

Java

2012-02-07 09:08:50

Feed4JUnitJava

2012-02-01 15:53:03

JavaEhcache

2011-10-18 15:00:46

Perl

2012-04-12 11:03:24

RRiBbitJava

2012-03-06 09:20:02

SpockJava

2012-02-29 09:11:22

JavaDataNucleus

2012-02-16 09:30:25

DynamicRepoJava

2009-06-01 15:55:06

JPAEclipseMyEclipse 6

2009-02-20 09:24:38

JavaScriptJS框架事件委托
点赞
收藏

51CTO技术栈公众号