#ifndef QIAOJIASYSTEM_BASESQLITEDAO_H
|
#define QIAOJIASYSTEM_BASESQLITEDAO_H
|
|
|
|
class BaseSqliteDao {
|
protected:
|
public:
|
|
static LDBTool* lDBTool;
|
|
static QSqlDatabase* m_db;
|
static QSqlTableModel *m_pModel;
|
static QMutex* m_mutexVisit;
|
static void setLDBTool(LDBTool* lDBTool) {
|
BaseSqliteDao::lDBTool = lDBTool;
|
BaseSqliteDao::m_db = lDBTool->get_m_db();
|
BaseSqliteDao::m_pModel = lDBTool->get_m_pModel();
|
BaseSqliteDao::m_mutexVisit = lDBTool->get_m_mutexVisit();
|
}
|
static string getColumnNames(std::map<std::string, std::string>& columns) {
|
string columnNames;
|
auto size = columns.size();
|
int i = 0;
|
for (auto column : columns) {
|
columnNames.append(column.first);
|
if (i != size - 1) {
|
columnNames.append(",");
|
}
|
i++;
|
}
|
return columnNames;
|
}
|
static string getColumnValues(std::map<std::string, std::string>& columns) {
|
string columnValues;
|
auto size = columns.size();
|
int i = 0;
|
for (auto column : columns) {
|
columnValues.append("'"+column.second+"'");
|
if (i != columns.size() - 1) {
|
columnValues.append(",");
|
}
|
i++;
|
}
|
return columnValues;
|
}
|
static string getColumnNameValuePair(std::map<std::string, std::string>& columns) {
|
string columnNameValuePair;
|
auto size = columns.size();
|
int i = 0;
|
for (auto column : columns) {
|
columnNameValuePair.append(column.first);
|
columnNameValuePair.append("=");
|
columnNameValuePair.append("'"+column.second+"'");
|
|
if (i != size - 1) {
|
columnNameValuePair.append(",");
|
}
|
i++;
|
}
|
return columnNameValuePair;
|
}
|
static string getWhereColumnNameValuePair(std::map<std::string, std::string>& columns) {
|
string columnNameValuePair;
|
auto size = columns.size();
|
int i = 0;
|
for (auto column : columns) {
|
columnNameValuePair.append(" and ");
|
columnNameValuePair.append(column.first);
|
columnNameValuePair.append("=");
|
columnNameValuePair.append("'"+column.second+"' ");
|
|
i++;
|
}
|
return columnNameValuePair;
|
}
|
};
|
|
LDBTool* BaseSqliteDao::lDBTool = nullptr;
|
QSqlDatabase* BaseSqliteDao::m_db = nullptr;
|
QSqlTableModel *BaseSqliteDao::m_pModel = nullptr;
|
QMutex* BaseSqliteDao::m_mutexVisit = nullptr;
|
|
#endif //QIAOJIASYSTEM_BASESQLITEDAO_H
|