tornado基础:数据库 | tornado |《python学习之路》| python 技术论坛-380玩彩网官网入口

未匹配的标注

简介

与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的列表。

本文章首发在 380玩彩网官网入口 网站上。

上一篇 下一篇
讨论数量: 0



暂无话题~
网站地图