Newer
Older
CasicIrisIdentify / dao / util / ConnectionManager.cpp
#ifdef _MSC_VER
#pragma execution_character_set("utf-8")    // Qt VS 中文兼容(UTF-8)
#endif

#include "ConnectionManager.h"
#include <QApplication>

Q_GLOBAL_STATIC(ConnectionManager, cm)

ConnectionManager::ConnectionManager(QObject *parent) : QObject(parent)
{
    // 初始化数据库连接
    if (QSqlDatabase::contains("qt_sql_dafault_connection"))
    {
        conn = QSqlDatabase::database("qt_sql_default_connection");
    }
    else
    {
        conn = QSqlDatabase::addDatabase("QSQLITE");
        conn.setDatabaseName(QApplication::applicationDirPath() + "/data/casic.db");

        bool succ = conn.open();
        if (succ == true)
        {
            LOG_INFO(QString("打开数据库操作正常[Open Database Success]").toStdString());
        } else
        {
            LOG_ERROR(QString("打开数据库操作失败[Open Database Failed]").toStdString());
        }
    }
}

ConnectionManager::~ConnectionManager()
{
    conn.close();
}

ConnectionManager* ConnectionManager::getInstance()
{
    return cm;
}

QSqlDatabase ConnectionManager::getConnection()
{
    return this->conn;
}

qint64 ConnectionManager::generateId()
{
    return this->idWorker.nextId();
}