跳到主要内容

getBatch 获取多条记录

getBatch 根据主键列表获取多条记录。

Luwak >= 3.0.0, asm.so >= 0.1.4

API

公共参数 metas 对象

名称类型描述
tokenstring访问令牌,当需要授权才能访问时为必填
signaturestring签名
appKeystring当需要签名时为必填
timestampstring, number时间戳,当校验时间误差范围时为必填

请求参数

名称类型描述
methodstringAPI 名称
paramsarrayAPI 参数

method 命名规范是 $entity.getBatch

params 参数是数组。

主键必须是单列主键。

响应结果

返回一个对象。

{
"data": [], // 包含多个数据的数组
"total": 0 // 找到多少条数据
}

示例

场景描述

获取品牌表中主键 id 为 1,2,3 的多条数据。

请求

{
"jsonrpc": "2.0",
"method": "smartPanda.mdh.brand.getBatch",
"params": [
1,
2,
3
],
"metas": {
"token": "44ea16b7-3aa1-41a5-81da-8ee9d2b840c2",
"signature": "44fbc88198f8f47e7d2ac1c26f6601a9",
"appKey": "NSEA4ETIpBlyB2l9",
"timestamp": 1740559281296
},
"id": "359279d8-23c4-48d4-8736-d3e1ae2673d3"
}

响应

{
"jsonrpc": "2.0",
"result": {
"data": [
{
"id": 1,
"name": "Luwak"
},
{
"id": 2,
"name": "Louis Vuitton"
},
{
"id": 3,
"name": "Channel"
}
],
"total": 3
},
"id": "359279d8-23c4-48d4-8736-d3e1ae2673d3"
}

实体定义

smart_panda 库中 brand 表的定义如下

CREATE TABLE `brand`
(
`id` int AUTO_INCREMENT,
`name` varchar(20),
PRIMARY KEY (`id`)
);

entity 名称是 smartPanda.mdh.brand

实际执行的 SQL

Prepare   SELECT * FROM smart_panda.brand WHERE id IN (?, ?, ?)
Execute SELECT * FROM smart_panda.brand WHERE id IN (1, 2, 3)

Prepare SELECT COUNT(*) FROM smart_panda.brand WHERE id IN (?, ?, ?)
Execute SELECT COUNT(*) FROM smart_panda.brand WHERE id IN (1, 2, 3)