• C++ cppconn insert into mysql tables


    #include <iostream>
    #include <cppconn/driver.h>
    #include <cppconn/resultset.h>
    #include <cppconn/statement.h>
    #include <cppconn/exception.h>
    #include <cppconn/prepared_statement.h>
    
    using namespace std;
    
    static char *uuidValue = (char *)malloc(40);
    
    char *getUuid()
    {
        uuid_t newUUID;
        uuid_generate(newUUID);
        uuid_unparse(newUUID, uuidValue);
        return uuidValue;
    }
    
    
    void insertMysql66(int loops);
    
    int main(int args, char **argv)
    {
        insertMysql66(atoi(argv[1]));
    }
    
    void insertMysql66(int loops)
    {
        try
        {
            sql::Driver *driver;
            sql::Connection *conn;
            sql::PreparedStatement *prep_stmt;
    
            Util ul;
            stringstream ss;
            driver = get_driver_instance();
            conn = driver->connect("tcp://127.0.0.1:3306", "root", "Password");
            conn->setSchema("myDB");
    
            prep_stmt = conn->prepareStatement("insert into mt(BookId,BookName,BookTitle) values(?,?,?)");
            for (int i = 0; i < loops; i++)
            {
                prep_stmt->setInt64(1, i * i);
                prep_stmt->setString(2, ul.getUuid());
                prep_stmt->setString(3, ul.getUuid());
                bool isOk = prep_stmt->execute();
                if (isOk)
                {
                    cout << "Failed index=" << i << endl;
                }
            }
            delete prep_stmt;
            delete conn;
        }
        catch (sql::SQLException &e)
        {
            cout << "# ERR: SQLException in " << __FILE__;
            cout << "(" << __FUNCTION__ << ") on line " << __LINE__ << endl;
            cout << "# ERR: " << e.what();
            cout << " (MySQL error code: " << e.getErrorCode();
            cout << ", SQLState: " << e.getSQLState() << " )" << endl;
        }
    }

    Compile:

    g++ -g -std=c++2a -I. -Wall -I/usr/include/cppconn *.cpp ./Model/*.cpp -o h1 -luuid -lpthread -L/usr/lib -lmysqlcppconn

    execute:

    time ./h1 10000

    Then query the result via select * from mt and below snapshot has illustrated that inserts into table successfully!

  • 相关阅读:
    项目用到的分页功能(保存)
    跟上脚步(微信小程序)
    啊!!!贾克斯。
    Javascript闭包——懂不懂由你,反正我是懂了(作者: FrankFang 来源: 博客园)
    OpenCV4Android 之 OpenCV4Android SDK
    OpenCV4Android 之 Android 开发简介
    (-2147483648 > 0)?
    基于能量水平的无线传感器网络拓扑控制研究
    遍历文件夹及其子孙文件夹中的文件
    目标检测中背景建模方法
  • 原文地址:https://www.cnblogs.com/Fred1987/p/16271838.html
Copyright © 2020-2023  润新知