tornado基础:数据库 | tornado |《python学习之路》| python 技术论坛-大发黄金版app下载
简介
与django框架相比,tornado没有自带orm,对于数据库需要自己去适配。我们使用mysql数据库。
在tornado3.0版本以前提供tornado.database模块用来操作mysql数据库,而从3.0版本开始,此模块就被独立出来,作为torndb包单独提供。torndb只是对mysqldb的简单封装,不支持python 3。
连接初始化
我们需要在应用启动时创建一个数据库连接实例,供各个requesthandler使用。我们可以在构造application的时候创建一个数据库实例并作为其属性,而requesthandler可以通过self.application获取其属性,进而操作数据库实例。
import torndb
class application(tornado.web.application):
    def __init__(self):
        handlers = [
            (r"/", indexhandler),
        ]
        settings = dict(
            template_path=os.path.join(os.path.dirname(__file__), "templates"),
            static_path=os.path.join(os.path.dirname(__file__), "statics"),
            debug=true,
        )
        super(application, self).__init__(handlers, **settings)
        # 创建一个全局mysql连接实例供handler使用
        self.db = torndb.connection(
            host="127.0.0.1",
            database="itcast",
            user="root",
            password="mysql"
        )使用数据库
- 新建数据库与表 
- 执行语句,执行语句主要用来执行非查询语句。 - execute(query, parameters, *kwparameters) 返回影响的最后一条自增字段值
- execute_rowcount(query, parameters, *kwparameters) 返回影响的行
- query为要执行的sql语句,parameters与kwparameters为要绑定的参数
 
- 查询语句 - get(query, parameters, *kwparameters) 返回单行结果或none,若出现多行则报错。返回值为torndb.row类型,是一个类字典的对象,即同时支持字典的关键字索引和对象的属相访问。
- query(query, parameters, *kwparameters) 返回多行结果,torndb.row的列表。
 
