最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MyBatis limit分頁設(shè)置的實(shí)現(xiàn)

 更新時間:2021年04月04日 11:30:12   作者:timchen525  
這篇文章主要介紹了MyBatis limit分頁設(shè)置的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

錯誤的寫法:

<select id="queryMyApplicationRecord" parameterType="MyApplicationRequest" resultMap="myApplicationMap">
 SELECT
 a.*,
 FROM
 tb_user a
 WHERE 1=1
 <if test="ids != null and ids.size()!=0">
  AND a.id IN
  <foreach collection="ids" item="id" index="index"
     open="(" close=")" separator=",">
   #{id}
  </foreach>
 </if>
 <if test="statusList != null and statusList.size()!=0">
  AND a.status IN
  <foreach collection="statusList" item="status" index="index"
     open="(" close=")" separator=",">
   #{status}
  </foreach>
 </if>
 ORDER BY a.create_time desc
 LIMIT (#{pageNo}-1)*#{pageSize},#{pageSize}; // 錯誤
</select>

 在MyBatis中LIMIT之后的語句不允許的變量不允許進(jìn)行算數(shù)運(yùn)算,會報(bào)錯。

 正確的寫法一:

<select id="queryMyApplicationRecord" parameterType="MyApplicationRequest" resultMap="myApplicationMap">
 SELECT
 a.*,
 FROM
 tb_user a
 WHERE 1=1
 <if test="ids != null and ids.size()!=0">
  AND a.id IN
  <foreach collection="ids" item="id" index="index"
     open="(" close=")" separator=",">
   #{id}
  </foreach>
 </if>
 <if test="statusList != null and statusList.size()!=0">
  AND a.status IN
  <foreach collection="statusList" item="status" index="index"
     open="(" close=")" separator=",">
   #{status}
  </foreach>
 </if>
 ORDER BY a.create_time desc
 LIMIT ${(pageNo-1)*pageSize},${pageSize}; (正確)
</select>

 正確的寫法二:(推薦)

<select id="queryMyApplicationRecord" parameterType="MyApplicationRequest" resultMap="myApplicationMap">
 SELECT
 a.*,
 FROM
 tb_user a
 WHERE 1=1
 <if test="ids != null and ids.size()!=0">
  AND a.id IN
  <foreach collection="ids" item="id" index="index"
     open="(" close=")" separator=",">
   #{id}
  </foreach>
 </if>
 <if test="statusList != null and statusList.size()!=0">
  AND a.status IN
  <foreach collection="statusList" item="status" index="index"
     open="(" close=")" separator=",">
   #{status}
  </foreach>
 </if>
 ORDER BY a.create_time desc
 LIMIT #{offSet},#{limit}; (推薦,代碼層可控)
</select>

 分析:方法二的寫法,需要再請求參數(shù)中額外設(shè)置兩個get函數(shù),如下:

@Data
public class QueryParameterVO {
 
 private List<String> ids;
 
 private List<Integer> statusList;
 
 // 前端傳入的頁碼
 private int pageNo; // 從1開始
 
 // 每頁的條數(shù)
 private int pageSize;
 
 // 數(shù)據(jù)庫的偏移
 private int offSet;
 
 // 數(shù)據(jù)庫的大小限制
 private int limit;
 
 // 這里重寫offSet和limit的get方法
 public int getOffSet() {
  return (pageNo-1)*pageSize;
 }
 
 public int getLimit() {
  return pageSize;
 }
}

到此這篇關(guān)于MyBatis limit分頁設(shè)置的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)MyBatis limit分頁內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring?Boot項(xiàng)目集成Knife4j接口文檔的實(shí)例代碼

    Spring?Boot項(xiàng)目集成Knife4j接口文檔的實(shí)例代碼

    Knife4j就相當(dāng)于是swagger的升級版,對于我來說,它比swagger要好用得多<BR>,這篇文章主要介紹了Spring?Boot項(xiàng)目集成Knife4j接口文檔的示例代碼,需要的朋友可以參考下
    2021-12-12
  • Java?詳解Collection集合之ArrayList和HashSet

    Java?詳解Collection集合之ArrayList和HashSet

    本章具體介紹了ArrayList和HashSet兩種集合的基本使用方法和區(qū)別,圖解穿插代碼實(shí)現(xiàn)。?JAVA成仙路從基礎(chǔ)開始講,后續(xù)會講到JAVA高級,中間會穿插面試題和項(xiàng)目實(shí)戰(zhàn),希望能給大家?guī)韼椭?/div> 2022-03-03
  • springboot集成druid連接池配置的方法

    springboot集成druid連接池配置的方法

    這篇文章主要介紹了springboot集成druid連接池配置的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 關(guān)于Java從本地文件復(fù)制到網(wǎng)絡(luò)文件上傳

    關(guān)于Java從本地文件復(fù)制到網(wǎng)絡(luò)文件上傳

    這篇文章主要介紹了關(guān)于Java從本地文件復(fù)制到網(wǎng)絡(luò)文件上傳,File?和?IO?流其實(shí)是很相似的,都是將文件從一個地方轉(zhuǎn)移到另一個地方,這也是流的特點(diǎn)之一,需要的朋友可以參考下
    2023-04-04
  • SpringBoot整合GRPC微服務(wù)遠(yuǎn)程通信的實(shí)現(xiàn)示例

    SpringBoot整合GRPC微服務(wù)遠(yuǎn)程通信的實(shí)現(xiàn)示例

    本文主要介紹了SpringBoot整合GRPC微服務(wù)遠(yuǎn)程通信的實(shí)現(xiàn)示例,包含gRPC的工作原理,以及如何在Spring Boot應(yīng)用中集成gRPC,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • 詳細(xì)聊一聊JavaWeb中的Request和Response

    詳細(xì)聊一聊JavaWeb中的Request和Response

    這篇文章主要給大家介紹了關(guān)于JavaWeb中Request和Response的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2023-02-02
  • Springboot使用sharedingjdbc實(shí)現(xiàn)分庫分表

    Springboot使用sharedingjdbc實(shí)現(xiàn)分庫分表

    這篇文章主要介紹了Springboot使用sharedingjdbc實(shí)現(xiàn)分庫分表,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Java案例實(shí)現(xiàn)不重復(fù)的隨機(jī)數(shù)

    Java案例實(shí)現(xiàn)不重復(fù)的隨機(jī)數(shù)

    這篇文章主要介紹了Java案例實(shí)現(xiàn)不重復(fù)的隨機(jī)數(shù),通過創(chuàng)建Set集合對象,可以使用HashSet也可以使用TreeSet,區(qū)別在于TreeSet是排序后的,創(chuàng)建隨機(jī)數(shù)對象,獲取一個隨機(jī)數(shù)去重等操作,需要的朋友可以參考一下
    2022-04-04
  • 解決IDEA2020.2插件lombok報(bào)錯問題(親測有效)

    解決IDEA2020.2插件lombok報(bào)錯問題(親測有效)

    這篇文章主要介紹了解決IDEA2020.2插件lombok報(bào)錯問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • 簡述Java中throw-throws異常拋出

    簡述Java中throw-throws異常拋出

    任何Java代碼都可以拋出異常,本文主要介紹了Java中throw-throws異常拋出,具有一定的參考價值,感興趣的可以了解一下
    2021-08-08

最新評論

清新县| 马山县| 合山市| 万载县| 永昌县| 乐陵市| 瓮安县| 南涧| 庆元县| 宝兴县| 瑞金市| 益阳市| 余庆县| 白水县| 灵武市| 西宁市| 白沙| 莎车县| 正宁县| 三原县| 谢通门县| 额济纳旗| 万山特区| 利津县| 垦利县| 靖州| 屏山县| 云浮市| 五峰| 宝清县| 阿坝| 如东县| 田阳县| 禹州市| 安国市| 绿春县| 临邑县| 武隆县| 永吉县| 丹棱县| 富宁县|