Newer
Older
AutomaticVerification / softwareDirectory / AutoVerScheme / mainsysdatabaseconnection.h
李现川 on 31 Mar 2024 1 KB no commit message
#ifndef DATABASECONNECTION_H
#define DATABASECONNECTION_H
#include <QtSql>
#include <QObject>
#include <QMutex>

class MainSysDatabaseConnection
{


public:
    //获取数据库实例
    static MainSysDatabaseConnection* getInstance();

    MainSysDatabaseConnection();
    ~MainSysDatabaseConnection();
    bool open();
    bool isopen();
    void close();
    QSqlDatabase& getDatabase();
private:
    //单列模式 保证MainSysDatabaseConnection的唯一性
    static MainSysDatabaseConnection* Connect;
    //QMutex 来确保在多线程环境下单例的正确创建。
    static QMutex mutex;

    //这是拷贝构造函数的声明,后面跟着 = delete; 表示这个构造函数被删除了。
    //这意味着你不能通过拷贝另一个 DatabaseConnection 对象来创建新的 DatabaseConnection 对象。
    //如果尝试这样做,编译器会报错。
    MainSysDatabaseConnection(const MainSysDatabaseConnection&) = delete;
    //这是拷贝赋值运算符的声明,同样后面跟着 = delete; 表示这个运算符被删除了。
    //这意味着你不能将一个 DatabaseConnection 对象赋值给另一个 DatabaseConnection 对象。
    //如果尝试这样做,编译器同样会报错。
    MainSysDatabaseConnection& operator=(const MainSysDatabaseConnection&) = delete;
    //数据库db类
    QSqlDatabase db;
};

#endif // DATABASECONNECTION_H