代码如下
#include <iostream>
#include "Poco/Data/MySQL/Connector.h"
#include "Poco/Data/SessionPool.h"
#include "Poco/Data/RecordSet.h"
#include "Poco/Data/Column.h"
int main(int, char **)
{
Poco::Data::MySQL::Connector::registerConnector();
Poco::Data::SessionPool *sessionpool = new Poco::Data::SessionPool("MySql",
"host=192.168.2.143;\
port=23306;\
db=test;\
user=root;\
password=123;\
compress=true;\
auto-reconnect=true",
10);
Poco::Data::Session session = sessionpool->get();
if(!session.isConnected())
{
std::cout << "session is not connected!!!" << std::endl;
return -1;
}
Poco::Data::Statement sql_select(session);
sql_select << "select id from test_table";
Poco::Data::RecordSet res(sql_select);
sql_select.execute();
bool more = res.moveFirst();
while (more)
{
std::cout << res[0].convert<int>();
more = res.moveNext();
}
return 0;
}
cmake 如下
cmake_minimum_required(VERSION 3.0.0)
project(TestPoco VERSION 0.1.0)
include(CTest)
set(Poco_DIR /usr/local/poco/lib/cmake/Poco)
find_package(Poco REQUIRED DataMySQL)
add_executable(TestPoco main.cpp)
target_link_libraries(${PROJECT_NAME} ${Poco_LIBRARIES})
target_link_libraries(${PROJECT_NAME} mysqlclient)