#include <iostream>
#include <vector>
#include <mysqlx/xdevapi.h> using std::cout;
using std::endl; int main(void)
try
{
mysqlx::Session sess("mysqlx://root:mysql@localhost:33060?ssl-mode=disabled"); //参数true表示检测给定的"D_COMPANY"是否存在, 如果不存在则抛出异常
//"D_COMPANY" 为使用 【CREATE DATABASE XXXX】 语法创建的数据库名
mysqlx::Schema db = sess.getSchema("D_COMPANY", true); //"C_DOCUMENT" 为表名
//true 表示返回与此字符串匹配的已存在的表,不存在则抛出异常
cout << ">> create collection.." << endl;
mysqlx::Collection coll = db.createCollection("C_DOCUMENT", true); #ifdef INSERT_DOCUMENT
cout << ">> add document.." << endl;
mysqlx::Result ret;
//注意: _id字段是必要的
ret = coll.add(
R"(
{
"_id": "test",
"name": "Awesome 4K",
"resolutions": [{
"width": 1280,
"height": 720
}, {
"width": 1920,
"height": 1080
}, {
"width": 3840,
"height": 2160
}]
}
)").execute(); std::vector<std::string> idList = ret.getGeneratedIds(); cout << ">> print ID..." << endl;
for (std::string str : idList) {
cout << str << endl;
}
#endif #ifdef DELETE_DOCUMENT
cout << ">> drop document..." << endl;
mysqlx::Result ret = coll.removeOne(std::string("test"));
cout << ">> Affect items: " << ret.getAffectedItemsCount() << endl;
#endif //得到_id为“test”的json数据
mysqlx::DbDoc doc = coll.getOne(std::string("test"));
if (doc.isNull()) {
cout << "the doc is null." << endl;
return 0;
} else {
cout << R"(">> Get a document with an identifier of "test")" << endl;
} cout << ">> print document..." << endl;
doc.print(cout);
cout << endl; if (doc.fieldType("name")
== int(mysqlx::Value::STRING))
{
cout << "name: " << doc["name"].get<std::string>() << endl;
} if (doc.fieldType("resolutions")
== int(mysqlx::Value::ARRAY))
{
mysqlx::DbDoc resDoc = doc["resolutions"].get<mysqlx::DbDoc>(); if (resDoc.isNull()) {
cout << "res doc is null." << endl;
return -1;
} cout << "-----------------------" << endl;
resDoc.print(cout);
cout << endl;
} cout << endl << ">> Done!" << endl;
}
catch(mysqlx::Error &err)
{
cout << "ERROR: " << err << endl;
return -1;
}

MySql Connector/c++8中JSON处理Demo的更多相关文章

  1. MySql Connector/C++8结果集处理Demo

    #include <iostream> #include <exception> #include <mysqlx/xdevapi.h> using std::co ...

  2. 安装MySQL Connector/C++并将其配置到VS2015中

    安装MySQL Connector/C++并将其配置到VS中 1.下载MySQL Connector/C++并安装 在下载地址:https://dev.mysql.com/downloads/conn ...

  3. MySQL中JSON字段的使用技巧

    mysql5.7.8之后开始原生支持json. 在类似mongodb这种nosql数据库中,json存储数据是非常自然的, 在mysql中合理的使用json,能够带来极大的便利 Json字段的使用场景 ...

  4. vc++2013中使用MySQL connector/C++ 1.1.4静态链接报错

    包含头文件 #include <mysql_connection.h> #include <mysql_driver.h> #include <cppconn/state ...

  5. 创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL

    创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL 用惯.NET的研发人员都习惯性地使用SQLServer作为数据库.然而.NET Core ...

  6. mysql Connector C++ 操作数据库 vs2012

    最近想写一个应用程序,要连接和操作mysql数据库,以前只是用c++ builder 操作过mysql数据库,那是用控件操作的,感觉比较弱智,但是c++ builder vcl控件感觉在多线程里比较坑 ...

  7. [转]MySQL Connector/C++(一)

    http://www.cnblogs.com/dvwei/archive/2013/04/18/3029464.html#undefined#undefined MySQL Connector/C++ ...

  8. Asp.net中Json的序列化和反序列化(一)

    JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式.在网站应用中使用JSON的场景越来越多,本文介绍ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介绍 ...

  9. mybatis/callablestatement调用存储过程mysql connector产生不必要的元数据查询

    INFO | jvm 1 | 2016/08/25 15:17:01 | 16-08-25 15:17:01 DEBUG pool-1-thread-371dao.ITaskDao.callProce ...

随机推荐

  1. 【代码笔记】Java深入学习——实现客户端发送文件到服务器的文件传输

    Server.java package com.huaxin.lesson02; import java.io.FileOutputStream; import java.io.InputStream ...

  2. 关于Activity

    Activity与界面 1.Activity相当于浏览器的标签.相当于空白的网页,界面相当于浏览器内的网页. 2.将Activity与界面绑定就相当于在浏览器内填写了相应的网页. 3.Activity ...

  3. vue+axios+easy-mock+element-ui实现表格分页功能

    废话不多,效果如图: LineSource.vue文件内代码如下: <template> <div class="c-main auth userControl" ...

  4. JQuery和html+css实现鼠标点击放烟花

    <!DOCTYPE html> <html> <head><meta http-equiv="Content-Type" content= ...

  5. mui 窗体切换

    手机实现窗体切换 1.在5+环境下(即H5app) 先初始化: mui.init({ subpages:[{ url:"page1.html",//子页面HTML地址,支持本地地址 ...

  6. js 正则表达式简易教程

    (http://www.cnblogs.com/tugenhua0707/p/5037811.html#_labe6)

  7. adnroid 自定义ProgressDialog加载中

    用来记录自己所用到的知识 前两天在做项目的时候发现有时候在访问网络数据的时候由于后台要做的工作较多,给我们返回数据的时间较长,所以老大叫我加了一个加载中的logo图用来提高用户体验. 于是就在网上找了 ...

  8. ORACLE中一个字符占多少字节?

    问题描述 或许你会说一个中文字符占2个字节,这是一定的?如何计算一个字符串的字节数? 解决方案 在oracle中一个字符特别是中文占几个字节是不同的. 比如我创立一个表create table tes ...

  9. JavaScript递归深度问题

    递归是有限的东西: function fact(num) { if (num <= 1) { return 1; } else { return fact(num - 1); } } 测试结果是 ...

  10. Jquery的部分插件

    jQuery Easing:jQuery 动画效果扩展 jQuery Migrate:jQuery 应用迁移辅助插件Modernizr:专为HTML5和CSS3开发的功能检测类库jQuery Flex ...