You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
1.4 KiB
98 lines
1.4 KiB
//
|
|
// Created by mwo on 7/01/17.
|
|
//
|
|
|
|
#include "MySqlConnector.h"
|
|
|
|
#include <mysql++/mysql++.h>
|
|
#include <mysql++/ssqls.h>
|
|
|
|
|
|
#include <iostream>
|
|
#include <memory>
|
|
|
|
|
|
namespace xmreg {
|
|
|
|
|
|
string MySqlConnector::url;
|
|
size_t MySqlConnector::port;
|
|
string MySqlConnector::username;
|
|
string MySqlConnector::password;
|
|
string MySqlConnector::dbname;
|
|
|
|
MySqlConnector::MySqlConnector()
|
|
{
|
|
_init();
|
|
}
|
|
|
|
MySqlConnector::MySqlConnector(Option* _option)
|
|
{
|
|
conn.set_option(_option);
|
|
_init();
|
|
}
|
|
|
|
bool
|
|
MySqlConnector::connect()
|
|
{
|
|
if (conn.connected())
|
|
return true;
|
|
|
|
try
|
|
{
|
|
conn.connect(dbname.c_str(),
|
|
url.c_str(),
|
|
username.c_str(),
|
|
password.c_str(),
|
|
port);
|
|
}
|
|
catch (mysqlpp::ConnectionFailed const& e)
|
|
{
|
|
MYSQL_EXCEPTION_MSG(e);
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
|
|
bool
|
|
MySqlConnector::ping()
|
|
{
|
|
return conn.ping();
|
|
}
|
|
|
|
Query
|
|
MySqlConnector::query(const char *qstr)
|
|
{
|
|
return conn.query(qstr);
|
|
}
|
|
|
|
Query
|
|
MySqlConnector::query(const std::string &qstr)
|
|
{
|
|
return conn.query(qstr);
|
|
}
|
|
|
|
Connection&
|
|
MySqlConnector::get_connection()
|
|
{
|
|
return conn;
|
|
}
|
|
|
|
MySqlConnector::~MySqlConnector()
|
|
{
|
|
conn.disconnect();
|
|
};
|
|
|
|
void
|
|
MySqlConnector::_init()
|
|
{
|
|
if (!connect())
|
|
{
|
|
cerr << "Connection to Mysql failed!" << endl;
|
|
throw std::runtime_error("Connection to Mysql failed!");
|
|
}
|
|
}
|
|
|
|
} |