本文档主要介绍如何使用 Java 驱动接口编写使用 SequoiaDB 数据库的程序。完整的示例代码请参考 SequoiaDB 安装目录下的 samples/Java
连接 SequoiaDB 数据库,之后即可访问、操作数据库。
// 连接 sdbserver 机器上的 SequoiaDB 数据库
Sequoiadb sdb = new Sequoiadb( "sdbserver:11810", "admin", "admin" );
try {
// 访问、操作数据库
// ...
} finally {
// 关闭连接
sdb.close();
}
Note:
- SequoiaDB 类为非线程安全类,每个线程必须单独建立自己的 SequoiaDB 对象,不能传递给多个线程同时操作
创建集合空间、集合
CollectionSpace cs = sdb.createCollectionSpace( "sample" ); DBCollection cl = cs.createCollection( "employee" );
插入
// 准备待插入的数据 BSONObject obj = new BasicBSONObject(); obj.put( "name", "tom" ); obj.put( "age", 24 ); // 插入 InsertResult result = cl.insertRecord( obj ); // 查看插入的结果 System.out.println( result );
更新
// 设置匹配条件:age 等于 24
BSONObject matcher = new BasicBSONObject( "age", 24 );
// 设置修改的内容:将 age 改为 22
BSONObject modifier = new BasicBSONObject();
modifier.put("$set", new BasicBSONObject( "age", 22 ) );
// 更新
UpdateResult result = cl.updateRecords( matcher, modifier );
// 查看更新的结果
System.out.println(result);查询
// 设置查询条件:age 等于 22
BSONObject matcher = new BasicBSONObject( "age", 22 );
// 查询
DBCursor cursor = cl.query( matcher, null, null, null );
// 遍历游标,获取查询的记录
try {
while (cursor.hasNext()) {
BSONObject record = cursor.getNext();
String name = (String) record.get( "name" );
System.out.println(" name = " + name );
}
} finally {
cursor.close();
}删除
// 设置删除条件:age 等于 22 BSONObject matcher = new BasicBSONObject( "age", 22 ); // 删除 DeleteResult result = cl.deleteRecords( matcher ); System.out.println( result );
创建复制组
ReplicaGroup rg = sdb.createRG( "dataGroup" ); rg.createNode( "sdbserver", 11820, "/opt/sequoiadb/database/data/11820", null ); // 启动复制组 rg.start();
在复制组增加节点
ReplicaGroup rg = sdb.getReplicaGroup( "dataGroup" );
Node node = rg.createNode("sdbserver", 11830, "/opt/sequoiadb/database/data/11830", null);
// 启动节点
node.start();