开始
doadmin.Database().__init__()
班级
class Database(object):
connection = None
cursor = None
def get_c(self):
return self.cursor
def __init__(self):
if Database.connection is None:
try:
Database.connection = mysql.connector.connect(host="stuff", user="stuff", password="stuff",
database="stuff", port=stuff)
Database.cursor = Database.connection.cursor()
except Exception as error:
print("Error: Connection not established {}".format(error))
else:
print("Connection established")
self.connection = Database.connection
self.cursor = Database.cursor
要求
cursor1 = Database().get_c()
cursor1.execute("SELECT * FROM posts")
posts = list(cursor1)
您的问题中的内容看起来非常好(前提是类数据库对象在您的应用程序中全局实例化)
致这篇文章的所有读者
打开和关闭数据库连接是昂贵的操作(请参阅我 2012 年 4 月 24 日的旧帖子:打开和关闭数据库连接的成本如何?)
如果您需要来自连接池的持久连接,我建议将一个带有一个数据库连接对象的全局变量保留到连接池,如上所示。这将最大限度地减少连接池的流失(即连接池的强制关闭和重新打开)