当我们要实现一个web app的时候,其中一个要考量的地方就是数据层,也叫DAO layer。对于使用Java的朋友,相信会非常熟悉EJB或者Hibernate的实现方式。
万变不离其宗,所有语言都要根据一定的标准,使用Python实现同样也要考虑几个基本的要点: 建立数据库链接,建立数据池,连接和clean out,事务管理(transaction)。
以下则是记录我是如何从零开始,编写python的数据层模块。
第0式. 环境准备(environment setup)
对于新机器而言,第0步是必要的。我们需要set up好两个environment:python 和 mysql
mysql的安装: https://dev.mysql.com/downloads/installer/
我们主要是使用mysql server和mysql workbench。
Mysql会在后台注册一个service — MySQL56 , 这个service就是控制整个数据库的mysql server运行。
同时mysql workbench则是一个类似于sql developer的工作台。
对于python的安装非常简单,我们使用的版本为2.7
python的IDE 我们使用pycharm 4.5
第1式. 建立数据库engine
完成了第0步后,我们尝试着用python去连接数据库。这时候我们需要导入一个包 — mysql.connector
import mysql.connector
然后标准的安装和例程在
https://dev.mysql.com/doc/connector-python/en/connector-python-examples.html
建立engine的目的在于创建一个connection pool。那么engine的变量需要是global变量。它一旦被创建,就是会被新建立的线程不断调用。
新建一个py file, 如下:
__author__ = 'Wenzhuo'
engine = None
class _Engine(object):
def __init__(self, connect):
self._connect = connect
def connect(self)<