JSON应用开发
增删改查操作
1 快速入门
此快速入门通过搭建基础运行环境,以快速了解SequoiaDB在JSON应用开发的基本功能.
1.1 环境部署
需要用到的软件有 : SequoiaDB 3.0 , JDK1.8 , maven 3.3.9 , IntelliJ IDEA 2018 .
部署SequoiaDB集群环境
参考文档 [ 集群模式 ] 章节部署SequoiaDB环境,确保可用.
部署Windows开发环境
这里推荐使用JDK1.8 , maven 3.3.9和IntelliJ IDEA 2018作为Windows开发环境.
1.2 正式开始
-
在IDEA下创建maven工程
-
驱动安装 . 在pom.xml添加下列依赖:
<dependency> <groupId>com.sequoiadb</groupId> <artifactId>sequoiadb-driver</artifactId> <version>3.0.1</version> </dependency>
-
创建方法获得数据库连接:
public Sequoiadb getConnection() { /** * 创建数据库连接 * @param connString 地址或主机名:端口 * @param username 用户名 * @param password 密码 * */ Sequoiadb sequoiadb = new Sequoiadb("192.168.248.128:11810", "sdbadmin", "sdbadmin"); return sequoiadb; }
-
创建集合空间
public void crtCS() { Sequoiadb sequoiadb = getConnection(); BasicBSONObject options = new BasicBSONObject(); options.put("PageSize", Sequoiadb.SDB_PAGESIZE_64K); options.put("Domain", "testdomain"); options.put("LobPageSize", 4096); /** * 创建集合空间 * @param csName 集合空间名称 * @param options 配置参数,选项如下: * PageSize: 数据页大小。单位为字节,默认值64K。 * Domain: 所属域。 * LobPageSize: Lob数据页大小。单位为字节,默认值262144。 */ sequoiadb.createCollectionSpace("testcs", options); }
-
创建集合
public void crtCL() { Sequoiadb sequoiadb = getConnection(); BasicBSONObject options = new BasicBSONObject(); options.put("ShardingKey", new BasicBSONObject("id", 1)); options.put("ShardingType", "hash"); options.put("Compressed", true); options.put("CompressionType", "lzw"); options.put("AutoSplit", true); sequoiadb.getCollectionSpace("testcs").createCollection("demoCL", options); }
-
获取集合
public DBCollection getCollection() { Sequoiadb sequoiadb = getConnection(); CollectionSpace cs = sequoiadb.getCollectionSpace("testcs"); DBCollection cl = cs.getCollection("demoCL"); return cl; }
-
插入数据
public void insert() { DBCollection dbCollection = getCollection(); BSONObject bsonObject = new BasicBSONObject(); bsonObject.put("name", "tom"); bsonObject.put("age", 19); dbCollection.insert(bsonObject); }
-
查询数据
public void query() { DBCollection dbCollection = getCollection(); // 查询所有记录,并把查询结果放在游标对象中 DBCursor cursor = dbCollection.query(); try { while (cursor.hasNext()) { BSONObject record = cursor.getNext(); // 可将返回记录映射成自定义实体对象(Person) Person person = record.as(Person.class); System.out.println(person.toString()); } } catch (BaseException e) { System.out.println("Sequoiadb driver error, error description:" + e.getErrorType()); } catch (Exception e) { e.printStackTrace(); } finally { cursor.close(); } }
-
更新数据
public void update() { DBCollection dbCollection = getCollection(); BSONObject modifier = new BasicBSONObject(); //age字段加1 modifier.put("$inc", new BasicBSONObject("age", 1)); /** * 将符合匹配条件的记录进行更新 * @param matcher 匹配条件 * @param modifier 更新规则 * @param hint 指定使用的索引, */ dbCollection.update(null, modifier, null); }
-
删除数据
public void truncate() { DBCollection dbCollection = getCollection(); //删除集合中所有数据 dbCollection.truncate(); }
2 CURD教程
在教程开始之前,我们需要了解一些基本概念:
SequoiaDB数据库中的数据存放分为三个级别:
- 数据库
- 集合空间
- 集合
因此,在数据库操作中,可用三个类来分别表示连接,集合空间,集合实例,另2个类分别表示游标实例和大对象实例:
实例 | 名称 | 描述 |
---|---|---|
SequoiaDB | 数据库实例 | 代表一个单独的数据库连接 |
CollectionSpace | 集合空间实例 | 代表一个单独的集合空间 |
DBCollection | 集合实例 | 代表一个单独的集合 |
DBCursor | 游标实例 | 代表一个查询产生的结果集 |
DBLob | 大对象实例 | 代表一个大对象 |
Java驱动需要使用不同的实例进行操作.如读取数据的操作需要游标实例,而创建表空间则需要数据库实例.
2.1 Java开发环境搭建
驱动安装
驱动安装的方式有2种:
-
访问[ http://download.sequoiadb.com/cn/index-cat_id-2 ] 下载Java驱动jar包
-
使用maven,在pom.xml中添加下列以来
<dependency> <groupId>com.sequoiadb</groupId> <artifactId>sequoiadb-driver</artifactId> <version>3.0.1</version> </dependency>
2.2 连接到SequoiaDB
连接到SequoiaDB的方式有2种:单个连接和连接池连接.
在写连接实例之前要了解我们当前准备的SequoiaDB集群环境:
主机名 | 地址 | 协调节点端口 | sdb用户名 | sdb密码 |
---|---|---|---|---|
h21 | 192.168.248.128 |