#ifndef DATABASECONNECTIONMAINSYS_H #define DATABASECONNECTIONMAINSYS_H #include <QtSql> #include <QObject> #include <QMutex> #include <QMessageBox> class DatabaseConnectionMainSys { public: //获取数据库实例 static DatabaseConnectionMainSys* getInstance(); DatabaseConnectionMainSys(); ~DatabaseConnectionMainSys(); bool open(); bool isopen(); void close(); QSqlDatabase& getDatabase(); private: //单列模式 保证MainSysDatabaseConnection的唯一性 static DatabaseConnectionMainSys* Connect; //QMutex 来确保在多线程环境下单例的正确创建。 static QMutex mutex; //这是拷贝构造函数的声明,后面跟着 = delete; 表示这个构造函数被删除了。 //这意味着你不能通过拷贝另一个 DatabaseConnection 对象来创建新的 DatabaseConnection 对象。 //如果尝试这样做,编译器会报错。 DatabaseConnectionMainSys(const DatabaseConnectionMainSys&) = delete; //这是拷贝赋值运算符的声明,同样后面跟着 = delete; 表示这个运算符被删除了。 //这意味着你不能将一个 DatabaseConnection 对象赋值给另一个 DatabaseConnection 对象。 //如果尝试这样做,编译器同样会报错。 DatabaseConnectionMainSys& operator=(const DatabaseConnectionMainSys&) = delete; //数据库db类 QSqlDatabase dbmain; }; #endif // DATABASECONNECTIONMAINSYS_H