| | |
| | | #include <iostream> |
| | | #include <mysql++.h> |
| | | #include <AppConfig.h> |
| | | #include <QtCore/QMutex> |
| | | |
| | | using namespace std; |
| | | |
| | | static mysqlpp::Connection *conn; |
| | | |
| | | class BaseDao { |
| | | public: |
| | | static QMutex m_mutexVisit; |
| | | private: |
| | | static mysqlpp::Connection* conn; |
| | | public: |
| | | static mysqlpp::SimpleResult add(std::map<std::string, std::string> &columns, string tableName) { |
| | | initConnection(); |
| | |
| | | } |
| | | return simpleResult; |
| | | } |
| | | |
| | | static bool del(string tableName, std::map<std::string, std::string> &whereColumns) { |
| | | initConnection(); |
| | | string sql = "DELETE FROM " + tableName + " where 1=1 " + getWhereColumnNameValuePair(whereColumns); |
| | |
| | | } |
| | | 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); |
| | |
| | | } |
| | | return ret; |
| | | } |
| | | |
| | | static string getInsertSql(std::map<std::string, std::string> &columns, string tableName) { |
| | | string insertSql = "INSERT INTO " + tableName + " (" |
| | | + getColumnNames(columns) + |
| | |
| | | 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) { |
| | | 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); |
| | | getWhereColumnNameValuePair(whereColumns) |
| | | ; |
| | | cout << "updateSql " << updateSql << endl; |
| | | return updateSql; |
| | | } |
| | | |
| | | static void doConnect() { |
| | | if (conn->connect( |
| | | appConfig.getStringProperty("database").c_str(), |
| | |
| | | cout << "connect failed" << endl; |
| | | } |
| | | } |
| | | |
| | | static void initConnection() { |
| | | static bool inited = false; |
| | | if (!inited) { |
| | |
| | | doConnect(); |
| | | } |
| | | } |
| | | |
| | | static string getColumnNames(std::map<std::string, std::string> &columns) { |
| | | string columnNames; |
| | | auto size = columns.size(); |
| | |
| | | } |
| | | return columnNames; |
| | | } |
| | | |
| | | static string getColumnValues(std::map<std::string, std::string> &columns) { |
| | | string columnValues; |
| | | auto size = columns.size(); |
| | |
| | | } |
| | | return columnValues; |
| | | } |
| | | |
| | | static string getColumnNameValuePair(std::map<std::string, std::string> &columns) { |
| | | string columnNameValuePair; |
| | | auto size = columns.size(); |
| | |
| | | } |
| | | return columnNameValuePair; |
| | | } |
| | | |
| | | static string getWhereColumnNameValuePair(std::map<std::string, std::string> &columns) { |
| | | string columnNameValuePair; |
| | | auto size = columns.size(); |