MyBatis Plus的分頁,有插件式的,也有其自帶了,插件需要配置,說麻煩也不是特別麻煩,不過覺得現有的MyBatis Plus足以解決,就懶得配置插件了。
MyBatis Plus的資料不算是太多,與MyBatis相比。所以將可能用到的記錄下來。分頁及其搜索對於web開發是非常常用的。
使用MyBatis Plus已經有5個多月,開發的效率,的確提高不少。雖然前面有MyBatis的逆向工程,可以生成單表的增刪改查,但是呢?看起來繁雜,用起來不爽,因為還得看一大堆sql和一些queryvo,看起來就不爽,何況用呢。
MyBatis Plus Github開源地址如下:https://github.com/baomidou/mybatis-plus
至於maven依賴,前面實戰系列貼的都有,這里不再重復貼。
來個單元測試示例:
import java.util.HashMap; import java.util.List; import java.util.Map; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import com.baomidou.mybatisplus.plugins.Page; import com.entity.SysDictData; import com.service.SysDictDataService; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:spring/spring.xml") public class JunitTest { @Autowired private SysDictDataService sysDictDataService; @Test public void testName() throws Exception { List<SysDictData> list = sysDictDataService.selectList(null);
int tatalCount = sysDictDataService.selectCount(null);
Page<SysDictData> page =new Page<SysDictData>();
page.setRecords(list);
page.setCurrent(1);
page.setLimit(1);
page.setSize(10);
page.setTotal(tatalCount);
System.out.println(page.getRecords()) }
selectList(null)這個方法前面的關於封裝方法詳解有過說明,這里不再贅述。
上面的page.setRecords()、 page.setCurrent()、 page.setLimit()、page.setSize()、 page.setTotal()等等方法,相信有一定編程編程經驗或者英語水平一般的人都能看出來是什么意思。
不過這里還是要稍微解釋下:
Records:相當於將集合數據放入其中,作為集合數據裝載容器
Current:當前頁
Limit()相當於 select id,user_name,password from `user` limit 0,5 從索引幾開始
Size():每頁顯示多少條數據
Total():數據總數
至於最后的page.getRecords()就是獲取對應的數據。當然如果你要獲取當前頁或者數據總數可以對象.方法
例如:
page.getTotal(); page.getCurrent();
關於MyBatis Plus封裝方法講解可以參考我的如下博客:
如果對上面的有疑惑,可以留言,說明疑惑,我必盡力詳細解答。
當然了,如果你只是使用MyBatis而不是MyBatis,分頁可以使用MyBatis的插件,當然了,如果覺得插件配置麻煩了話,可以參考我的這篇文章實現簡單分頁:
layui前端框架之分頁
盡管你不是使用layui,但里面的代碼你可以參考。