关键词

Flask框架使用DBUtils模块连接数据库操作示例

  1. 实现连接数据库

首先需要安装需要的模块。可以通过以下命令安装:

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等。

  1. 实现数据库操作

在路由函数中,可以通过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

展开阅读全文