dbutils,sqlobject,SQLAlchemy
2011年07月01日
Python DBUtils 提供了稳固的、持久的到数据库的连接池,支持多线程应用环境。
使用实例代码:
import pgdb # import used DB-API 2 module
from DBUtils.PersistentDB import PersistentDB
persist = PersistentDB(pgdb, 1000, database='mydb')
db = persist.connection()
SQLObject 是一个流行的Python 数据库对象映射框架,映射的规则就是表->类、字段->属性
示例代码:
>>> from sqlobject import *
>>>
>>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
>>>
>>> class Person(SQLObject):
... fname = StringCol()
... mi = StringCol(length=1, default=None)
... lname = StringCol()
...
>>> Person.createTable()
SQLAlchemy 是一个Python 的SQL 工具包以及数据库对象映射框架
示例代码:
user1 = User(name='user1')
user2 = User(name='user2')
session.add(user1)
session.add(user2)
session.commit() # write changes to the databas
通过代码比对,还是喜欢SQLAlchemy的代码,另外SQLAlchemy也是三个数据库框架中功能最全的,如果只是实现简单的数据库连接池,那么就用dbutils,如果使用ORM,那还是用SQLAlchemy;sqlobject就略过了。
2011年07月01日
Python DBUtils 提供了稳固的、持久的到数据库的连接池,支持多线程应用环境。
使用实例代码:
import pgdb # import used DB-API 2 module
from DBUtils.PersistentDB import PersistentDB
persist = PersistentDB(pgdb, 1000, database='mydb')
db = persist.connection()
SQLObject 是一个流行的Python 数据库对象映射框架,映射的规则就是表->类、字段->属性
示例代码:
>>> from sqlobject import *
>>>
>>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
>>>
>>> class Person(SQLObject):
... fname = StringCol()
... mi = StringCol(length=1, default=None)
... lname = StringCol()
...
>>> Person.createTable()
SQLAlchemy 是一个Python 的SQL 工具包以及数据库对象映射框架
示例代码:
user1 = User(name='user1')
user2 = User(name='user2')
session.add(user1)
session.add(user2)
session.commit() # write changes to the databas
通过代码比对,还是喜欢SQLAlchemy的代码,另外SQLAlchemy也是三个数据库框架中功能最全的,如果只是实现简单的数据库连接池,那么就用dbutils,如果使用ORM,那还是用SQLAlchemy;sqlobject就略过了。