Mysql查询上一页下一页id

也是第一次写这两个功能,,之前写的都是按照createTime创建时间来排序获取上一页下一页id后来发现如果数据的创建时间一样的话就会出现问题于是参考了这个博客mysql排序后获取上一条记录和下一条记录_小可乐-我一直在的博客-CSDN博客需求是根据创建时间排序后,在根据名称首字母大小来排序获取上一页下一页id主要方法是将数据排一个编号 再根据编号来查询上一页下一页id贴一下sql 根据大佬的sql修改后的代码SELECT m.*FROM ( SELECT (@
摘要由CSDN通过智能技术生成

也是第一次写这两个功能,,之前写的都是按照createTime创建时间来排序获取上一页下一页id

后来发现如果数据的创建时间一样的话就会出现问题

于是参考了这个博客

mysql排序后获取上一条记录和下一条记录_小可乐-我一直在的博客-CSDN博客

需求是根据创建时间排序后,在根据名称首字母大小来排序获取上一页下一页id

主要方法是将数据排一个编号 再根据编号来查询上一页下一页id

贴一下sql 根据大佬的sql修改后的代码 

SELECT
	m.*
FROM
	(
		SELECT
			(@i := @i + 1) AS RowNum,
			o.*
		FROM
			(
				SELECT
					id,
					type,
					org_id,
					org_name,
					group_id,
					group_name,
					grade_id,
					grade_name,
					subject_id,
					subject_name,
					unit_id,
					unit_name,
					chapter_id,
					chapter_name,
					task_id,
					act_id,
					NAME,
					display_file_name,
					primary_id,
					primary_name,
					res_type,
					cover,
					url,
					is_verify AS verify,
					verify_status_update_time,
					verify_status_update_user,
					verify_status
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java实现分页功能,可以使用MyBatis-PageHelper插件来实现。这里以Spring Boot框架为例,具体步骤如下: 1. 在pom.xml文件中添加PageHelper的依赖: ```xml <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.5</version> </dependency> ``` 2. 在MyBatis的配置文件中配置PageHelper: ```xml <!-- 分页插件 --> <plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor"> <!-- 设置数据库类型 --> <property name="helperDialect" value="mysql"/> <!-- 是否将参数offset作为PageNum使用 --> <property name="offsetAsPageNum" value="true"/> <!-- 是否进行count查询 --> <property name="rowBoundsWithCount" value="true"/> <!-- 是否分页合理化 --> <property name="reasonable" value="true"/> </plugin> </plugins> ``` 3. 在Service层中使用PageHelper进行分页查询,例如: ```java @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public PageInfo<User> getUserList(int pageNum, int pageSize) { PageHelper.startPage(pageNum, pageSize); List<User> userList = userMapper.getUserList(); return new PageInfo<>(userList); } } ``` 4. 在Controller层中接收前端传来的pageNum和pageSize参数,并调用Service层的方法进行分页查询,例如: ```java @RestController public class UserController { @Autowired private UserService userService; @GetMapping("/users") public PageInfo<User> getUserList(@RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "12") int pageSize) { return userService.getUserList(pageNum, pageSize); } } ``` 5. 前端代码中可以使用Vue.js来实现分页功能,例如: ```html <template> <div> <ul> <li v-for="user in userList" :key="user.id">{{ user.name }}</li> </ul> <div> <button @click="prevPage" :disabled="pageInfo.pageNum === 1">上一页</button> <button @click="nextPage" :disabled="pageInfo.isLastPage">下一页</button> </div> </div> </template> <script> import axios from 'axios'; export default { data() { return { userList: [], pageInfo: {}, }; }, mounted() { this.getUserList(); }, methods: { getUserList(pageNum = 1, pageSize = 12) { axios.get(`/users?pageNum=${pageNum}&pageSize=${pageSize}`) .then(res => { this.userList = res.data.list; this.pageInfo = res.data; }); }, prevPage() { this.getUserList(this.pageInfo.pageNum - 1); }, nextPage() { this.getUserList(this.pageInfo.pageNum + 1); }, }, }; </script> ``` 其中,getUserList方法使用axios来发起GET请求,获取分页数据,并将返回的结果赋值给userList和pageInfo对象。prevPage和nextPage方法分别调用getUserList方法,传入不同的pageNum参数来实现上一页和下一页的功能。在按钮上使用:disabled属性来判断是否可以点击。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值