與Django框架相比,Tornado沒有自帶ORM,對於數據庫須要本身去適配。咱們使用MySQL數據庫。mysql
在Tornado3.0版本之前提供tornado.database模塊用來操做MySQL數據庫,而從3.0版本開始,此模塊就被獨立出來,做爲torndb包單獨提供。torndb只是對MySQLdb的簡單封裝,不支持Python 3。sql
pip install torndb
咱們須要在應用啓動時建立一個數據庫鏈接實例,供各個RequestHandler使用。咱們能夠在構造Application的時候建立一個數據庫實例並做爲其屬性,而RequestHandler能夠經過self.application獲取其屬性,進而操做數據庫實例。數據庫
# 放在application.py 最下面 super(Application, self).__init__(handlers, **settings) # 建立一個全局mysql鏈接實例供handler使用 self.db = torndb.Connection( host="127.0.0.1", database="igeek", user="root", password="mysql" )
新建數據庫與表:app
#
create database igeek default character set utf8; use igeek; create table houses ( id bigint(20) unsigned not null auto_increment comment '房屋編號', title varchar(64) not null default '' comment '標題', position varchar(32) not null default '' comment '位置', price int not null default 0, score int not null default 5, comments int not null default 0, primary key(id) )ENGINE=InnoDB default charset=utf8 comment='房屋信息表';