运行 多个文件的数据库连接?

Run database connection over multiple files?

我有很多文件,我想通过使用一个文件中的函数从我的服务器获取数据,该文件保持我与数据库的连接。

问题一、如何保持连接?

def main():
    global mydb
    mydb = mysql.connector.connect(
    database='database',
    host="host",
    user="user",
    password="passwd"
    )
    print("Started database connection")
    return mydb
main()
mycursor = mydb.cursor()

这是我当前保持与服务器的数据库连接的解决方案,它不起作用,但根据我的研究,这就是我取得的进展。

database.py 文件包含从数据库更新和获取信息的函数。 我知道如何导入这些函数,但我不知道如何启动或保持数据库连接,求助?

根据Data Access Object (DAO)模式,使用class怎么样?

database.py:

class DB:
    def __del__(self):
        self.mydb.close()

    def __init__(self):
        self.mydb = mysql.connector.connect(
            database='database',
            host="host",
            user="user",
            password="passwd"
        )
        print("Started database connection")

    def do_this_with_connection(self):
        mycursor = self.mydb.cursor()
        ....
        mycursor.close()

    def do_that_with_connection(self):
        mycursor = self.mydb.cursor()
        ....
        mycursor.close()

从另一个文件,你可以做

from database import DB

DB().do_this_with_connection()
DB().do_that_with_connection()

DB 实例被 __init__ 连接时,会自动建立一个连接,并在 __del__ 连接时(也自动)close 连接。这样,您就可以忘记连接并在数据库上做您想做的事情。