Dataway 分页查询,解决查询数据不同结构不一致问题 1个元素不是数组结构问题

avatar 2022年03月02日16:08:03 6 1603 views
博主分享免费Java教学视频,B站账号:Java刘哥

最近在玩 Dataway,遇到一个简单的问题,这里记录下

问题介绍

Dataway 的 DataQL 查询数据时,返回数据1个和多个时结构不一致

如下图,多个是数组,单个不是数组

 

问题解决

解决这个问题很简单,我们可以使用 DataQL 语句判断返回数据的长度,如果是1个,则给它加上去[]

完整代码如下

// 设置数据源
hint FRAGMENT_SQL_DATA_SOURCE = "ds1"
// 开启分页
hint FRAGMENT_SQL_QUERY_BY_PAGE = true
// 设置从第1页开始
hint FRAGMENT_SQL_QUERY_BY_PAGE_NUMBER_OFFSET = 1


// 声明一个 SQL
var dataSet = @@sql(name) <% 
    select * from user where name like concat('%',#{name}, '%' )
%>

// 执行SQL
var queryPage =  dataSet(${name});

// 定义分页
run queryPage.setPageInfo({
    "currentPage" : #{currentPage},  // 页码,从第0页开始
    "pageSize"    : #{pageSize} // 页大小
});

// 返回结果设置
var info = queryPage.pageInfo();
var data = queryPage.data();
if (info.totalCount == 0) {
    return {"pageInfo": info, "pageData": []};
}
if (info.totalCount == 1) {
    return {"pageInfo": info, "pageData": [data]};
}
return {"pageInfo": info, "pageData": data};

 

效果图如下

  • 微信
  • 交流学习,有偿服务
  • weinxin
  • 博客/Java交流群
  • 资源分享,问题解决,技术交流。群号:590480292
  • weinxin

发表评论

avatar 登录者:匿名
匿名评论,评论回复后会有邮件通知

  

已通过评论:0   待审核评论数:0