管理 JSON 文档 - 使用事务和不使用事务
概述
简介
DB2 JSON 是一个可用于 DB2 Linux, Unix and Windows 10.5 的 Technology Preview,提供了以下特性:
一个命令行 shell 用于管理和查询 JSON 数据
一个 Java API 用于应用程序开发
一个有线监听器用于接受和响应通过网络发送的请求。
图 1. DB2 JSON 组件
本文将介绍如何使用 Java 接口管理和查询 DB2 JSON 文档存储中的 JSON 文档。还将讨论可用的 ACID 支持的某些方面,以及将事务支持选项与吞吐量提高选项相结合的一些限制。
先决条件
要运行样例应用程序,必须在系统上安装 IBM DB2 10.5 for Linux, UNIX and Windows(或更高版本)。如果已有可用于运行样例的启用了 JSON 的 DB2 数据库,请记住主机名称或 IP 地址和端口号,并继续运行样例 一个简单的 Java 应用程序样例。否则完成以下步骤。
检查环境变量:
确保 PATH 中包含一个 Java Runtime Environment(最低 JRE 1.5),
CLASSPATH 包含 db2nosql.jar 和 JDBC 驱动程序(db2jcc.jar 或 db2jcc4.jar)。
创建一个数据库。
启用该数据库。
下面的样例展示了如何创建和启用一个数据库。
清单 1. 创建和启用数据库
CREATE DATABASE jsondb automatic storage yes using codeset utf-8 territory US collate using system pagesize 32 k db2nosql -user bob -hostName bobshost -port 50000 -db jsondb -password mypwd -setup enable
术语
JSON 存储:用作 JSON 文档存储的 DB2 数据库。在可以开始使用 IBM JSON 解决方案处理 JSON 文档之前,需要获取必要的连接和授权信息来访问用作 JSON 存储的 DB2 数据库服务器。
JSON 命名空间:DB2 SQL 模式用于完全限定集合,在概念上类似于 MongoDB 数据库。
JSON 集合:一个集合包含一组文档,在一个 DB2 表中表示。JSON 集合支持灵活的文档模式,它们不会强制使用某种结构。
一个简单的 Java 应用程序样例
从本文的 下载 部分下载 Sample.java。要在 db2cmd 窗口中运行这个样例程序,请完成以下步骤:
设置 CLASSPATH:将 nosqljson.jar 和 db2jcc.jar 或 db2jcc4.jar 包含到类路径中。
在 Windows 上:
假设 db2jcc.jar 位于 C:\Program Files\IBM\SQLLIB\java 目录中,nosqljson.jar 位于 C:\Program Files\IBM\SQLLIB\json\lib 目录中,然后将 CLASSPATH 设置如下:
set CLASSPATH=.;C:\Program Files\IBM\SQLLIB\java\db2jcc.jar;
C:\Program Files\IBM\SQLLIB\json\lib\nosqljson.jar
在 UNIX 上:
假设 db2jcc.jar 位于 /sqllib/java 目录中,nosqljson.jar 位于 /sqllib/json/lib 目录中,然后将 CLASSPATH 设置如下:
export CLASSPATH=.:/sqllib/java/db2jcc.jar:/sqllib/json/lib/nosqljson.jar
创建一个测试目录并将样例程序复制到这个测试目录中。
修改样例程序,使之适合数据库名称和连接信息。
编译并运行这个测试目录中的 Java 样例程序。
编译样例程序:
javac Sample.java
运行 Java 样例程序:
java Sample
带注释的 Java 样例程序
此样例程序插入了一个文档,并提交了一个查询来再次查找它。请参见 Sample.java,查看完整的样例代码。
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索文档
, 数据库
, jar
, json
, 程序
, java 数据交互 json
, java db
, nosql
, json java
, jcc
, 接口json数据数据库java
, 一个
滑动样例
nosql json、nosql json 关联查询、db2 json、db2 api中文下载、db2 api,以便于您获取更多的相关知识。