派生自 development/c++

pansen
2019-03-07 979bc003bce710bf300bc2bd87a8278585678763
QiaoJiaSystem/DataManagerServer/vss/dao/BaseDao.h
@@ -8,14 +8,17 @@
#include <iostream>
#include <mysql++.h>
#include <AppConfig.h>
#include <QtCore/QMutex>
using namespace std;
static mysqlpp::Connection *conn;
class BaseDao {
public:
    static mysqlpp::SimpleResult add(std::map<std::string, std::string> &columns, string tableName) {
    static QMutex m_mutexVisit;
private:
    static mysqlpp::Connection* conn;
public:
    static mysqlpp::SimpleResult add(std::map<std::string, std::string>& columns, string tableName) {
        initConnection();
        mysqlpp::SimpleResult simpleResult;
        try {
@@ -29,20 +32,17 @@
        }
        return simpleResult;
    }
    static bool del(string tableName, std::map<std::string, std::string> &whereColumns) {
    static bool del(string tableName, std::map<std::string, std::string>& whereColumns) {
        initConnection();
        string sql = "DELETE FROM " + tableName + " where 1=1 " + getWhereColumnNameValuePair(whereColumns);
        mysqlpp::Query query = conn->query(sql);
        bool ret = query.exec();
        if (!ret) {
            cout << "error " << query.error() << endl;
            cout << "error " <<query.error() << endl;
        }
        return ret;
    }
    static bool update(std::map<std::string, std::string> &columns, string tableName,
                       std::map<std::string, std::string> &whereColumns) {
    static bool update(std::map<std::string, std::string>& columns, string tableName, std::map<std::string, std::string>& whereColumns) {
        string updateSql = getUpdateSql(columns, tableName, whereColumns);
        initConnection();
        mysqlpp::Query query = conn->query(updateSql);
@@ -62,7 +62,7 @@
                map<string, string> rowData;
                mysqlpp::Row row = *it;
                auto field_list = row.field_list();
                const mysqlpp::FieldNames *fieldNames = field_list.list;
                const mysqlpp::FieldNames* fieldNames = field_list.list;
                for (int i = 0; i < fieldNames->size(); i++) {
                    string columnValue;
                    row[i].to_string(columnValue);
@@ -84,7 +84,7 @@
        if (auto res = query.store()) {
            for (auto it = res.begin(); it != res.end(); ++it) {
                Json::Value row;
                const mysqlpp::FieldNames *fieldNames = it->field_list().list;
                const mysqlpp::FieldNames* fieldNames = it->field_list().list;
                for (int i = 0; i < fieldNames->size(); i++) {
                    string columnValue;
                    (*it)[i].to_string(columnValue);
@@ -107,13 +107,12 @@
        mysqlpp::Query query = conn->query(sql);
        bool ret = query.exec();
        if (!ret) {
            cout << "error " << query.error() << endl;
            cout << "error " <<query.error() << endl;
        }
        return ret;
    }
    static string getInsertSql(std::map<std::string, std::string> &columns, string tableName) {
        string insertSql = "INSERT INTO " + tableName + " ("
    static string getInsertSql(std::map<std::string, std::string>& columns, string tableName) {
        string insertSql = "INSERT INTO "+tableName+" ("
                           + getColumnNames(columns) +
                           " ) values ( "
                           + getColumnValues(columns) +
@@ -121,17 +120,15 @@
        cout << "insertSql " << insertSql << endl;
        return insertSql;
    }
    static string getUpdateSql(std::map<std::string, std::string> &columns, string tableName,
                               std::map<std::string, std::string> &whereColumns) {
        string updateSql = "update " + tableName + " set "
    static string getUpdateSql(std::map<std::string, std::string>& columns, string tableName, std::map<std::string, std::string>& whereColumns) {
        string updateSql = "update "+tableName+" set "
                           + getColumnNameValuePair(columns) +
                           " where 1=1 " +
                           getWhereColumnNameValuePair(whereColumns);
                           " where 1=1 "+
                           getWhereColumnNameValuePair(whereColumns)
        ;
        cout << "updateSql " << updateSql << endl;
        return updateSql;
    }
    static void doConnect() {
        if (conn->connect(
            appConfig.getStringProperty("database").c_str(),
@@ -152,7 +149,6 @@
            cout << "connect failed" << endl;
        }
    }
    static void initConnection() {
        static bool inited = false;
        if (!inited) {
@@ -164,8 +160,7 @@
            doConnect();
        }
    }
    static string getColumnNames(std::map<std::string, std::string> &columns) {
    static string getColumnNames(std::map<std::string, std::string>& columns) {
        string columnNames;
        auto size = columns.size();
        int i = 0;
@@ -178,13 +173,12 @@
        }
        return columnNames;
    }
    static string getColumnValues(std::map<std::string, std::string> &columns) {
    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 + "'");
            columnValues.append("'"+column.second+"'");
            if (i != columns.size() - 1) {
                columnValues.append(",");
            }
@@ -192,15 +186,14 @@
        }
        return columnValues;
    }
    static string getColumnNameValuePair(std::map<std::string, std::string> &columns) {
    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 + "'");
            columnNameValuePair.append("'"+column.second+"'");
            if (i != size - 1) {
                columnNameValuePair.append(",");
@@ -209,8 +202,7 @@
        }
        return columnNameValuePair;
    }
    static string getWhereColumnNameValuePair(std::map<std::string, std::string> &columns) {
    static string getWhereColumnNameValuePair(std::map<std::string, std::string>& columns) {
        string columnNameValuePair;
        auto size = columns.size();
        int i = 0;
@@ -218,7 +210,7 @@
            columnNameValuePair.append(" and ");
            columnNameValuePair.append(column.first);
            columnNameValuePair.append("=");
            columnNameValuePair.append("'" + column.second + "' ");
            columnNameValuePair.append("'"+column.second+"' ");
            i++;
        }