[QT] MySql数据库单例模式
·
单例模式是一种常用的设计模式,用于确保一个类只有一个实例,并提供一个全局访问点以访问该实例,以下是 MySQL 数据库的单例模式。
mysqldatabase.h
#include <QSqlDatabase>
#include <QDebug>
class MySQLDatabase
{
private:
QSqlDatabase db;
static MySQLDatabase * instance;
MySQLDatabase();
public:
static MySQLDatabase* getInstance();
QSqlDatabase getDatabase() const;
};
mysqldatabase.cpp
#include "mysqldatabase.h"
MySQLDatabase* MySQLDatabase::instance = nullptr; // 声明一个私有类指针来获取单例对象
MySQLDatabase::MySQLDatabase()
{
// 设置数据库连接参数
db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost"); // 设置数据库主机名
db.setDatabaseName("database"); // 设置数据库名称
db.setUserName("root"); // 设置数据库用户名
db.setPort(3306); // 设置数据库端口号
db.setPassword("root"); // 设置数据库密码
if (!db.open()) {
qDebug() << "Error: Failed to connect database.";
}
}
MySQLDatabase *MySQLDatabase::getInstance()
{
if (!instance) {
instance = new MySQLDatabase();
}
return instance;
}
QSqlDatabase MySQLDatabase::getDatabase() const
{
return db;
}
更多推荐
所有评论(0)