废话不说,直接上代码。。。
#ifndef SQLCONNECTION_H_
#define SQLCONNECTION_H_
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <string>
#include <vector>
#include <list>
#include <deque>
#include <sstream>
#include <iostream>
#include <stdexcept>
#include "Util/logger.h"
#if defined(_WIN32)
#include <mysql.h>
#pragma comment (lib,"libmysql")
#else
#include <mysql/mysql.h>
#endif // defined(_WIN32)
using namespace std;
/**
* 数据库异常类
*/
class SqlException : public exception {
public:
SqlException(const string &sql,const string &err){
_sql = sql;
_err = err;
}
virtual const char* what() const noexcept {
return _err.data();
}
const string &getSql() const{
return _sql;
}
private:
string _sql;
string _err;
};
/**
* mysql连接
*/
class SqlConnection {
public:
/**
* 构造函数
* @param url 数据库地址
* @param port 数据库端口号
* @param dbname 数据库名
* @param username 用户名
* @param password 用户密码
* @param character 字符集
*/
SqlConnection(const string &url, unsigned short port,
const string &dbname, const string &username,
const string &password, const string &character = "utf8mb4") {
mysql_init(&_sql);
unsigned