【深入理解TcaplusDB技术】插入数据到列表指定位置示例代码——[List表]

本文准备工作

参见章节: [准备工作](https://tcaplusdb.tencent.com/UserGuide/04TcaplusDB SDK/03TDR表SDK/02TDR表JavaSDK/02TDR表JavaSDK示例代码/01准备工作.html)。

示例代码

示例代码

import com.tencent.tcaplus.client.Client;
import com.tencent.tcaplus.client.ClientFactory;
import com.tencent.tcaplus.client.Record;
import com.tencent.tcaplus.client.Request;
import com.tencent.tcaplus.client.Response;
import com.tencent.tdr.tcaplus_protocol_cs.TcaplusProtocolCsConstants;

import java.util.ArrayList;
import java.util.List;

public class Example {

    public static void main(String[] arguments) {
        // 1. 准备环境信息
        // 1.1. 目录服务地址列表
        List<String> dirList = new ArrayList<String>();
        dirList.add("tcp://x.x.x.x:9999");
        dirList.add("tcp://y.y.y.y:9999");
        // 1.2. 业务ID
        int appId = 1;
        // 1.3. 业务密码
        String appPassword = "****************";
        // 1.4. 表格组ID
        int tableGroupId = 1;
        // 1.5. 表格名称
        String tableName = "test";

        // 2. 创建客户端
        Client client = ClientFactory.createClient(appId, tableGroupId, appPassword, dirList);
        try {
            // 3. 构造插入数据的请求
            // 3.1. 获取请求对象。为了提升SDK性能,Request对象是复用的
            Request request = client.acquireRequest();
            // 3.2. 设置请求类型和目标表名。注意:目标表必须是List表
            request.setCmd(TcaplusProtocolCsConstants.TCAPLUS_CMD_LIST_ADDAFTER_REQ);
            request.setTableName(tableName);
            // 3.3. 指定将新数据插入到列表中的位置
                  //      本例中的-1,表示插入到列表的尾部。如果为0,表示插入到列表的第1条数据之后,以此类推
            Record record = request.addRecord(-1);
            // 3.4. 设置数据各字段的值。注意:Key字段和Value字段,使用的是不同的方法设置字段值
            record.setKeyInt("gameid", 1);
            record.setKeyInt("itemid", 1);
            record.setKeyString("name", "test");
            record.setValueByte("typeid", (byte) 1);
            record.setValueByte("Data", (byte) 1);
            record.setValueString("uname", "test");

            // 4. 发送请求,并获取结果
            Response response = client.poll(request);

            // 5. 处理结果
            if (response.getResult() == 0) {
                // 插入数据成功
                // TODO 可在此处添加数据插入成功的后续处理代码
            } else {
                // 插入数据失败
                // TODO 可在此处添加数据插入失败的后续处理代码
            }
        } finally {
            // 6. 销毁客户端对象
            ClientFactory.destroyClient(client);
        }
    }

}

【深入理解TcaplusDB技术】插入数据到列表指定位置示例代码——[List表]_第1张图片

TcaplusDB是腾讯出品的分布式NoSQL数据库,存储和调度的代码完全自研。具备缓存+落地融合架构、PB级存储、毫秒级时延、无损水平扩展和复杂数据结构等特性。同时具备丰富的生态、便捷的迁移、极低的运维成本和五个九高可用等特点。客户覆盖游戏、互联网、政务、金融、制造和物联网等领域。

你可能感兴趣的:(TcaplusDB,NoSQL,数据库,nosql,腾讯云,tcaplusdb)