首先需要安装需要的模块。可以通过以下命令安装:
pip install Flask
pip install DBUtils
pip install mysql-connector-python
然后在项目文件夹下创建配置文件config.py,包含以下代码:
DATABASE = {
'host': 'localhost',
'database': 'test',
'user': 'root',
'password': '123456',
'port': 3306
}
在项目的文件中,导入DBUtils的PooledDB类,用于创建数据库连接池。
from DBUtils.PooledDB import PooledDB
import mysql.connector
from config import DATABASE
conn_pool = PooledDB(
creator=mysql.connector,
maxconnections=5,
pool_size=10,
**DATABASE
)
其中,creator是用于创建数据库连接的函数,此处使用mysql.connector。maxconnections是连接池中最大的连接数,pool_size是初始的连接数,**DATABASE则是连接数据库需要的参数,如上例中的host、database等。
在路由函数中,可以通过conn_pool.connection()来获取一个数据库连接。然后就可以通过该连接执行SQL语句了。
以下代码示例中,我们展示了如何使用DBUtils模块来简化使用Flask框架连接MySQL数据库。
from flask import Flask
app = Flask(__name__)
from flask import jsonify
from conn import conn_pool
@app.route('/users')
def users():
conn = conn_pool.connection()
cursor = conn.cursor()
cursor.execute("SELECT * FROM user")
rows = cursor.fetchall()
data = []
for row in rows:
r = {
'id': row[0],
'name': row[1],
'email': row[2]
}
data.append(r)
cursor.close()
conn.close()
return jsonify(data)
在该示例中,我们通过访问"/users"路由获得用户列表。通过conn_pool.connection()获取数据库连接,然后执行SQL语句,并将结果封装成JSON返回。
需要注意的是,在使用后,需要关闭cursor和连接,可以看到示例中使用了close()方法关闭。
本文链接:http://task.lmcjl.com/news/15526.html