亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Mybatis實(shí)現(xiàn)聯(lián)表查詢并且分頁功能

 更新時(shí)間:2021年03月26日 09:50:24   作者:愛吃番茄的小狐貍  
這篇文章主要介紹了Mybatis實(shí)現(xiàn)聯(lián)表查詢并且分頁功能,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

今天同學(xué)突然問我這個(gè)怎么搞。
然后自己搞了一下發(fā)現(xiàn)這個(gè)玩意有坑。。就記錄一下

0. 表結(jié)構(gòu)

person表

在這里插入圖片描述

cat表

在這里插入圖片描述

一個(gè)person有多個(gè)cat

實(shí)體類就這么寫

1. 實(shí)體類

Person實(shí)體類

@Data
public class Person implements Serializable {
 private static final long serialVersionUID = -70682701290685641L;
 private Integer personid;
 private String firstname;
 private String lastname;
 private List<Cat> cats;
}

Cat實(shí)體類

@Data
public class Cat implements Serializable {
 private static final long serialVersionUID = -39783356260765568L;
 private Integer id;
 private String name;
 /**
  * 貓的歷史
  */
 private String history;
 /**
  * 貓的特征
  */
 private String features;
 /**
  * 大概的樣子
  */
 private String imgurl;
 private Integer personId;
}

2. Mapper配置文件

PersonDao.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">
<mapper namespace="com.liliya.dao.PersonDao">
<!-- 返回的Person映射Map -->
 <resultMap type="com.liliya.entity.Person" id="PersonMap">
  <result property="personid" column="PersonId" jdbcType="INTEGER"/>
  <result property="firstname" column="FirstName" jdbcType="VARCHAR"/>
  <result property="lastname" column="LastName" jdbcType="VARCHAR"/>
  <collection property="cats" ofType="Cat">
   <result property="id" column="id" jdbcType="INTEGER"/>
   <result property="name" column="name" jdbcType="VARCHAR"/>
   <result property="history" column="history" jdbcType="VARCHAR"/>
   <result property="features" column="features" jdbcType="VARCHAR"/>
   <result property="imgurl" column="imgUrl" jdbcType="VARCHAR"/>
   <result property="personId" column="person_id" jdbcType="INTEGER"/>
  </collection>
 </resultMap>

 <!--查詢單個(gè)-->
 <select id="queryById" resultMap="PersonMap">
  select personid, firstname, lastname, id, name, history, features, imgurl, person_id
  from mybatis.person p inner join mybatis.cat c on p.PersonId = c.person_id
  and PersonId= #{PersonId}
 </select>

</mapper>

上面這個(gè)是查詢單個(gè)人的,但是分頁沒有這么簡單
一開始我以為是這么寫的,就簡單的加一個(gè)limit

<select id="queryById" resultMap="PersonMap">
 select personid, firstname, lastname, id, name, history, features, imgurl, person_id
 from mybatis.person p inner join mybatis.cat c on p.PersonId = c.person_id
 limit #{page},#{step}
</select>

然后查出來就是這個(gè)吊樣。。。很明顯嘛,不對我的胃口。。

在這里插入圖片描述

后面我準(zhǔn)備放棄的時(shí)候突然想到可以來一個(gè)子查詢。。。

然后我就寫出了這樣的sql
,在子查詢里面套子查詢。。。實(shí)現(xiàn)limit分頁的效果

在這里插入圖片描述

select personid, firstname, lastname, id, name, history, features, imgurl, person_id
from mybatis.person p left join mybatis.cat c on p.PersonId = c.person_id
where PersonId in (select pp.PersonId from (select person.PersonId from person limit 2,2) as pp);

然后sql放到上面就搞好了
跑出來的效果就非常nice

在這里插入圖片描述

到此這篇關(guān)于Mybatis聯(lián)表查詢并且分頁的文章就介紹到這了,更多相關(guān)Mybatis查詢分頁內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java?spring?boot實(shí)現(xiàn)批量刪除功能詳細(xì)示例

    Java?spring?boot實(shí)現(xiàn)批量刪除功能詳細(xì)示例

    這篇文章主要給大家介紹了關(guān)于Java?spring?boot實(shí)現(xiàn)批量刪除功能的相關(guān)資料,文中通過代碼以及圖文將實(shí)現(xiàn)的方法介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-08-08
  • Map與JavaBean相互轉(zhuǎn)換的工具類?

    Map與JavaBean相互轉(zhuǎn)換的工具類?

    這篇文章主要介紹了Map與JavaBean相互轉(zhuǎn)換的工具類,在做導(dǎo)入的時(shí)候,遇到了需要將map對象轉(zhuǎn)化?成javabean的問題,也就是說,不清楚javabean的內(nèi)部字段排列,只知道m(xù)ap的?key代表javabean的字段名,value代表值,需要的朋友可以參考下
    2022-02-02
  • Java調(diào)用wsdl接口的兩種方法(axis和wsimport)

    Java調(diào)用wsdl接口的兩種方法(axis和wsimport)

    本文主要介紹了Java調(diào)用wsdl接口的兩種方法(axis和wsimport),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 通過實(shí)例解析JMM和Volatile底層原理

    通過實(shí)例解析JMM和Volatile底層原理

    這篇文章主要介紹了通過實(shí)例解析JMM和Volatile底層原理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • MyBatisPlus分頁時(shí)排序的實(shí)現(xiàn)

    MyBatisPlus分頁時(shí)排序的實(shí)現(xiàn)

    本文主要介紹了MyBatisPlus分頁時(shí)排序的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • SpringBoot整合Java DL4J實(shí)現(xiàn)文本分類系統(tǒng)

    SpringBoot整合Java DL4J實(shí)現(xiàn)文本分類系統(tǒng)

    在當(dāng)今信息爆炸的時(shí)代,自然語言處理領(lǐng)域中的文本分類顯得尤為重要,文本分類能夠高效地組織和管理海量的文本數(shù)據(jù),隨著互聯(lián)網(wǎng)的飛速發(fā)展,我們每天都被大量的文本信息所包圍,本文將介紹如何使用 Spring Boot 整合 Java Deeplearning4j 來構(gòu)建一個(gè)文本分類系統(tǒng)
    2024-10-10
  • 解決@Autowired注入static接口的問題

    解決@Autowired注入static接口的問題

    這篇文章主要介紹了解決@Autowired注入static接口的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java中Comparator與Comparable排序的區(qū)別詳解

    Java中Comparator與Comparable排序的區(qū)別詳解

    這篇文章主要介紹了Java中Comparator與Comparable排序的區(qū)別詳解,如果你有一個(gè)類,希望支持同類型的自定義比較策略,可以實(shí)現(xiàn)接口Comparable,如果某個(gè)類,沒有實(shí)現(xiàn)Comparable,但是又希望對它進(jìn)行比較,則可以自定義一個(gè)Comparator,需要的朋友可以參考下
    2024-01-01
  • JPA如何使用entityManager執(zhí)行SQL并指定返回類型

    JPA如何使用entityManager執(zhí)行SQL并指定返回類型

    這篇文章主要介紹了JPA使用entityManager執(zhí)行SQL并指定返回類型的操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 第三方網(wǎng)站微信登錄java代碼實(shí)現(xiàn)

    第三方網(wǎng)站微信登錄java代碼實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了第三方網(wǎng)站微信登錄的java代碼實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04

最新評論