From adb08adc83dfe9dc5d6170c2322952d77a93c510 Mon Sep 17 00:00:00 2001
From: pansen <pansen626@sina.com>
Date: 星期三, 03 四月 2019 09:54:33 +0800
Subject: [PATCH] Merge branch 'yw.1.2' into yangwu1.3
---
QiaoJiaSystem/DataManagerServer/vss/dao/BaseDao.h | 67 +++++++++++++++++++++------------
1 files changed, 43 insertions(+), 24 deletions(-)
diff --git a/QiaoJiaSystem/DataManagerServer/vss/dao/BaseDao.h b/QiaoJiaSystem/DataManagerServer/vss/dao/BaseDao.h
index bfffec3..a1b4f9d 100644
--- a/QiaoJiaSystem/DataManagerServer/vss/dao/BaseDao.h
+++ b/QiaoJiaSystem/DataManagerServer/vss/dao/BaseDao.h
@@ -16,9 +16,9 @@
public:
static QMutex m_mutexVisit;
private:
- static mysqlpp::Connection* conn;
+ static mysqlpp::Connection *conn;
public:
- static mysqlpp::SimpleResult add(std::map<std::string, std::string>& columns, string tableName) {
+ static mysqlpp::SimpleResult add(std::map<std::string, std::string> &columns, string tableName) {
initConnection();
mysqlpp::SimpleResult simpleResult;
try {
@@ -32,17 +32,20 @@
}
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 +65,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);
@@ -77,15 +80,17 @@
return rowDataList;
}
- static Json::Value findJsonArray(string sql, std::map<std::string, std::string>& whereColumns) {
+ static Json::Value findJsonArray(string sql, std::map<std::string, std::string> &whereColumns) {
sql = sql + getWhereColumnNameValuePair(whereColumns);
initConnection();
+// conn->query("SET character_set_server = utf8;");
mysqlpp::Query query = conn->query(sql);
+ std::cout << sql << std::endl;
Json::Value rowList;
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);
@@ -93,12 +98,15 @@
columnValue = "";
}
string columnName = fieldNames[0].at(i);
+// if (columnName == "Nickname") {
+// columnValue = columnValue;//.substr(0, 20);
+// }
row[columnName] = columnValue;
}
rowList.append(row);
}
} else {
- cout << "error " <<query.error() << endl;
+ cout << "error " << query.error() << endl;
cout << "query failed" << endl;
}
return rowList;
@@ -109,12 +117,13 @@
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) +
@@ -122,17 +131,20 @@
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() {
cout << "db_host=" << appConfig.getStringProperty("db_host").c_str() << endl;
+ conn->set_option(new mysqlpp::SetCharsetNameOption("utf8"));
if (conn->connect(
appConfig.getStringProperty("database").c_str(),
appConfig.getStringProperty("db_host").c_str(),
@@ -148,22 +160,26 @@
// 3306
// )) {
cout << "connect success" << endl;
+ mysqlpp::Query query = conn->query("SET NAMES UTF8-");
} else {
cout << "connect failed" << endl;
}
}
+
static void initConnection() {
static bool inited = false;
if (!inited) {
inited = true;
conn = new mysqlpp::Connection(false);
+
doConnect();
}
if (!conn->connected() || !conn->ping()) {
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;
@@ -176,12 +192,13 @@
}
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(",");
}
@@ -189,14 +206,15 @@
}
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(",");
@@ -205,7 +223,8 @@
}
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;
@@ -213,7 +232,7 @@
columnNameValuePair.append(" and ");
columnNameValuePair.append(column.first);
columnNameValuePair.append("=");
- columnNameValuePair.append("'"+column.second+"' ");
+ columnNameValuePair.append("'" + column.second + "' ");
i++;
}
--
Gitblit v1.8.0