一、SQL中limit的基本用法
我們先來熟悉SQL中limit的基本用法
這是我現有的表結構

然后進行limit查詢
1.
select * from user limit 3,4
這句SQL陳述句的意思是查詢user表,跳過前3行,也就是從第四行開始查詢4行資料,查詢結果如下:

2.
select * from user limit 3
這句SQL陳述句的意思是查詢user表,跳過前0行,查詢3行資料,也是就相當于下面這句:
select * from user limit 0,3
查詢結果如下:

現在我們知道了limit的基本用法,我們就嘗試在MyBatis中實作,
二、在MyBatis中實作limit分頁
首先我們要知道實作limit分頁需要什么,很明顯需要兩個引數,一個表示跳過多少行,一個表示查詢多少行,
(1)在UserMapper介面中建立方法
//利用limit進行分頁 List<User> getUserbyLimit(Map<String, Integer> map);
(2)在UserMapper.xml中實作介面
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- 命名空間namespace對應Mapper介面 --> <mapper namespace="com.jms.dao.UserMapper"> <resultMap id="UserMap" type="User"> <!--column對應資料庫表的列名,property對應物體類屬性--> <result column="password" property="pwd"/> </resultMap> <!-- id對應介面中的方法--> <select id="getUserbyid" parameterType="_int" resultMap="UserMap"> select * from mybaties.user where id=#{id} </select> <select id="getUserbyLimit" parameterType="map" resultMap="UserMap"> select * from mybaties.user limit #{SkipPage},#{CapturePage} </select> </mapper>
(3)建立junit測驗
@Test public void limittest() { //利用工具類獲取SqlSession SqlSession sqlSession = MyBatisUtil.getSqlSession(); //利用SqlSession獲取UserMapper介面 UserMapper userMapper = sqlSession.getMapper(UserMapper.class); Map<String, Integer> map = new HashMap<>(); map.put("SkipPage", 5); map.put("CapturePage", 10); //呼叫方法 List<User> userList = userMapper.getUserbyLimit(map); for (User user : userList) { System.out.println(user); } }
測驗結果如下:

(本文僅作個人學習記錄用,如有紕漏敬請指正)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/508069.html
標籤:其他
上一篇:01.Go-開篇綜述
