1. 程式人生 > 實用技巧 >MyBatis(4):使用limit實現分頁

MyBatis(4):使用limit實現分頁

用limit實現分頁,首先要建立一個Maven專案,搭建好mybatis的實驗環境,並且連線好資料庫

程式碼

1,編寫dao介面

UserMapper

//查詢全部使用者實現分頁
List<User> selectUser(Map<String,Integer> map);

2,編寫對應Mapper對映檔案的方法

startIndex:起始位置
startIndex=(currentPage-1)*pageSize
pageSize:頁面大小
currentPage:當前頁

<select id="selectUserByLimit" parameterType="Map"
resultType="User"> select * from user limit #{startIndex},#{pageSize} </select>

3,測試

模擬分頁資料:currentPage,pageSize

@Test
public void selectUser(){
<span class="hljs-comment">//建立sqlSession</span>
SqlSessionFactory sqlSessionFactory = MyBatisUtils.getSqlSessionFactory();
SqlSession sqlSession = sqlSessionFactory.openSession();

<span class="hljs-comment">//準備資料</span>
<span class="hljs-keyword">int</span> currentPage = <span class="hljs-number">1</span>;<span class="hljs-comment">//當前是第幾頁</span>
<span class="hljs-keyword">int</span> pageSize = <span class="hljs-number">2</span>; <span class="hljs-comment">//頁面大小</span>

Map&lt;String, Integer&gt; <span class="hljs-built_in">map</span> = <span class="hljs-keyword">new</span> HashMap&lt;String, Integer&gt;();
<span class="hljs-built_in">map</span>.put(<span class="hljs-string">"startIndex"</span>,(currentPage<span class="hljs-number">-1</span>)*pageSize);
<span class="hljs-built_in">map</span>.put(<span class="hljs-string">"pageSize"</span>,pageSize);

<span class="hljs-comment">//測試</span>
UserDao mapper = sqlSession.getMapper(UserMapper.class);
List&lt;User&gt; users = mapper.selectUserByLimit(<span class="hljs-built_in">map</span>);

<span class="hljs-keyword">for</span> (User user : users) {
    System.out.println(user);
}

sqlSession.close();<span class="hljs-comment">//關閉連線</span>

}

注意優化別名問題

可以為一個包的所有類指定別名,這個別名為類名
com.kuang.pojo.User - > User
寫在你的mybatis配置檔案下

<!--優化別名-->
<typeAliases>
        <package name="com.Shandx.pojo"/>
</typeAliases>