天天看點

BeetlSQL進行分頁查詢/模糊分頁查詢

方式一:分頁查詢

如果單純地進行分頁查詢,可以依靠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());
		
		
	}