今天我学到了web服务器连接MySQL,这个内容很重要,但我看完视频课之后,迟迟不想动笔开始总结TT 因为我的数据库知识已经快忘光了...
大二选修课,我没有选数据库;大二小学期用tomcat 做一个java web项目要用到MySQL,于是我让我们组选了数据库选修课的同学负责了那个项目里所有要用到数据库的地方(我回忆了一下,我当时很多时间都花在了跟各个servlet较劲,以及和我的队友一起捣鼓时好时坏的MyEclipse.....)总之我对MySQL的学习真的很浅薄,但是我知道它很重要...
MySQL基本语句复习
MySQL数据库入门练习200句 - wayblink的博客 - CSDN博客
MySQL在windows系统下的查询语句、数据库名、表名、列名、别名,都不区分大小写。在Linux下区分大小写。也就是说,windows下,select * from tablename 和 SELECT * FROM tablename是一样的。
但是我还是希望自己可以有 把mysql语句大写的 习惯....
tornado连接数据库的配置
和大二小学期的Java web项目有一点类似,因为小学期只有两周,虽然完成了一个购物网站的前后端,但核心代码貌似都是老师直接给的...而且大家都急吼吼的,根本没时间理解代码,小学期一过完就忘光了。到现在要用到了才想起来--原来自己早在大二就实践过web服务器???(感到有一点惭愧)
下面我要介绍tornado里的数据库连接
首先,如图所示,在config.py文件里加入数据库的配置:
注意host的值就是localhost,不用加端口号3306(MySQL默认端口号),加了反而会出错。
设计ORM模块
ORM的用途是将mySQL语言,比如SELECT, INSERT, UPDATE, DELETE封装起来,便于代码复用。
ORM模块包括1. 建立连接、传入sql语句和参数
由于数据库连接是全局的,整个服务器有且只能有一个数据库连接,所以这里用到了singleton单例类。写一个类装饰器singleton, 去修饰负责数据库连接的那个类
2. 定义ORM映射的基类
基类里有很多函数,在其中建立数据库对象,把数据库参数处理好了之后,调用上图的函数,将mySQL语句封装好
注:普通方法和classmethod的区别: 普通方法中self指的是当前对象的实例,classmethod中cls指的是当前对象,不一定要有实例
ORM到这里就完成了。
3. 最后创建继承model的对象,该对象不用写sql语句,而是调用封装好的函数去实现和数据库的连接。这个就比较简单了