这篇文章主要讲解了“java滚动加载怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java滚动加载怎么实现”吧!
分页加载通常适用于客户端,通常是为了防止一次返回导致客户端崩溃,所以采用下拉加载更多的方式,为了防止数据重复的现象,数据传递建议使用唯一标识id。
普通的下拉加载方式
对于普通的下拉加载我们通常处理方式分为以下步骤:
1 客户端传递请求数目大小和上一次请求最后一条数据的id或者时间(如果是第一次请求则可以不传递)
2 对于后端按照终端请求的id或者时间进行某种特定次序排列,取固定数目返回给终端。由此便可以保证终端每次获取到正确数据。
核心sql查询语句
SELECT * FROM admin WHERE id < 10000 ORDER BY id DESC LIMIT 1, size
具体定义的数据结构
# 接口地址
/scroll/list
# 请求方式
HTTP GET
# 入参
{
"size":10,//请求大小
"id":1 //返回数据最后一条id
}
# 出参
# 成功
{
"flag": 1,
"result": {
"hasMore": ture, //是否有更多数据
"total": 68,
"list": [
{
"id":1, //文件Id
"desc":"描述", //可以为空
"name":"David"
},
{
"id":2, //文件Id
"desc":"描述", //可以为空
"name":"Tom"
},
...
]
}
}
#失败
{
"flag":0,
"result":"错误信息"
}
对于包含特定条件次序的分页加载的处理方式
比如说,项目要求已经置顶的数据的排列在所有数据的最前面(当然置顶数据的id可能比较小)那么就需要先按照置顶排序、id排序,然后查询数据(对于查询数据,则要根据不同的条件进行不同的处理)。
核心sql查询语句
SELECT * FROM admin WHERE #if(id!=null && state==2) ((id < 21 AND state=2) OR state != 2)) #elseif(id!=null && state!=2) id < 23 ORDER BY FIELD(state,2) DESC, id DESC LIMIT 1, size
具体定义的数据结构
## 接口地址
/scroll/list
```
## 请求方式
HTTP GET
## 入参
{
"size":10,//请求大小
"id":1 //返回数据最后一条id,第一次请求不用传递
"state":2 //返回最后一条数据的状态信息,第一次请求不用传递
}
## 出参
### 成功
{
"flag": 1,
"result": {
"hasMore": ture, //是否有更多数据
"total": 68,
"list": [
{
"id":1, //文件Id
"desc":"描述", //可以为空
"name":"David",
"state":1
},
{
"id":2, //文件Id
"desc":"描述", //可以为空
"name":"Tom",
"state":2
},
...
]
}
}
### 失败
{
"flag":0,
"result":"错误信息"
}
感谢各位的阅读,以上就是“java滚动加载怎么实现”的内容了,经过本文的学习后,相信大家对java滚动加载怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。