方式一:分页查询
如果单纯地进行分页查询,可以依靠PageQuery对象和templatePage封装方法来实现.

@Override
	public List<Match> findPage(int currentPage, int pageSize) {
		// TODO Auto-generated method stub
		
		
		PageQuery<Match> queryOfFindPage = new PageQuery<>();//创建BeetlSQL内置的PageQuery对象
				queryOfFindPage.setPageNumber(currentPage);//设置当前页码
				queryOfFindPage.setPageSize(pageSize);//设置查询数量
				matchDaoObj.templatePage(queryOfFindPage);//进行分页查询,调用dao对象继承BaseMapp父类的方法'templatePage()',传入参数为此前创建的PageQuery对象名。
				
				
			List<Match> list = queryOfFindPage.getList();//分页查询完毕后,结果会返回给PageQuery对象,我们通过PageQuery对象名.getList()的格式来获取查询结果。
				
		
		return list;
	}

方式二:模糊分页查询 需要手动计算查询数量和页数
这个方式是用Query对象的andLike+limit+select()三个方法结合SQLManager注入对象来实现的.
andLike代表拼接’like’语句,limit代表拼接’limit’语句,select代表查询.
但需要手动计算查询到的数量和页数.

	@Autowired
	private SQLManager sqlManagerObj;

	@GetMapping("/mysqltest")
	public void findPageOfMysql() {
		Query<MatchsInfo> queryObj = sqlManagerObj.query(MatchsInfo.class);
		List<MatchsInfo> select = queryObj.andLike("matchName", "%甲%").limit(1, 10).select();
		System.out.println(select.size());
		for (int i = 0; i < select.size(); i++) {
			System.out.println(select.get(i));
			
		}
		
		
		
	}

方式三:模糊分页查询 自动计算查询数量和页数
这个方式也是Query对象结合SQLManager注入对象来实现的,但是只需要两个Query对象的方法,andLike+page这两个.
它会把结果返回成一个PageQuery集合对象,你可以通过这个来获得查询到的数量和页数.

	@Autowired
	private SQLManager sqlManagerObj;

	@GetMapping("/mysqltest")
	public void findPageOfMysql() {
		Query<MatchsInfo> queryObj = sqlManagerObj.query(MatchsInfo.class);
		PageQuery<MatchsInfo> pageQueryObj = queryObj.andLike("matchName", "%甲%").page(1, 10);
		System.out.println(pageQueryObj.getTotalPage());
		System.out.println(pageQueryObj.getTotalRow());
		
		
	}
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐