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

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

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

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

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

person表

在這里插入圖片描述

cat表

在這里插入圖片描述

一個person有多個cat

實體類就這么寫

1. 實體類

Person實體類

@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實體類

@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>

 <!--查詢單個-->
 <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>

上面這個是查詢單個人的,但是分頁沒有這么簡單
一開始我以為是這么寫的,就簡單的加一個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>

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

在這里插入圖片描述

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

然后我就寫出了這樣的sql
,在子查詢里面套子查詢。。。實現(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)文章

  • ConstraintValidator類如何實現(xiàn)自定義注解校驗前端傳參

    ConstraintValidator類如何實現(xiàn)自定義注解校驗前端傳參

    這篇文章主要介紹了ConstraintValidator類實現(xiàn)自定義注解校驗前端傳參的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Spring中@DependsOn注解的作用及實現(xiàn)原理解析

    Spring中@DependsOn注解的作用及實現(xiàn)原理解析

    這篇文章主要介紹了Spring中@DependsOn注解的作用及實現(xiàn)原理解析,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • 詳細(xì)分析Java內(nèi)存模型

    詳細(xì)分析Java內(nèi)存模型

    Java虛擬機(jī)規(guī)范中定義了Java內(nèi)存模型(Java Memory Model,JMM),用于屏蔽掉各種硬件和操作系統(tǒng)的內(nèi)存訪問差異,以實現(xiàn)讓Java程序在各種平臺下都能達(dá)到一致的并發(fā)效果,JMM規(guī)范了Java虛擬機(jī)與計算機(jī)內(nèi)存是如何協(xié)同工作的,以及在必須時如何同步的訪問共享變量
    2021-06-06
  • 一次踩坑記錄 @valid注解不生效 排查過程

    一次踩坑記錄 @valid注解不生效 排查過程

    這篇文章主要介紹了一次踩坑記錄 @valid注解不生效 排查過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 詳解Mybatis動態(tài)sql

    詳解Mybatis動態(tài)sql

    MyBatis的動態(tài)SQL是基于OGNL表達(dá)式的,它可以幫助我們方便的在SQL語句中實現(xiàn)某些邏輯。本文給大家介紹Mybatis動態(tài)sql小結(jié),感興趣的朋友參考下
    2016-04-04
  • springboot 在idea中實現(xiàn)熱部署的方法

    springboot 在idea中實現(xiàn)熱部署的方法

    這篇文章主要介紹了springboot 在idea中實現(xiàn)熱部署的方法,實現(xiàn)了熱部署,在每一次作了修改之后,都會自動的重啟,非常節(jié)約時間,感興趣的小伙伴們可以參考一下
    2018-10-10
  • Intellij搭建springmvc常見問題解決方案

    Intellij搭建springmvc常見問題解決方案

    這篇文章主要介紹了Intellij搭建springmvc常見問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • Gson中的TypeToken與泛型擦除詳情

    Gson中的TypeToken與泛型擦除詳情

    這篇文章主要介紹了Gson中的TypeToken與泛型擦除詳情,其Gson類提供了toJson()與fromJson()方法,分別用來序列化與反序列化,更多相關(guān)內(nèi)容需要的朋友可以參考一下
    2022-09-09
  • java web學(xué)習(xí)_淺談request對象中g(shù)et和post的差異

    java web學(xué)習(xí)_淺談request對象中g(shù)et和post的差異

    下面小編就為大家?guī)硪黄猨ava web學(xué)習(xí)_淺談request對象中g(shù)et和post的差異。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Java 程序員掌握 Spring Boot非常有必要

    Java 程序員掌握 Spring Boot非常有必要

    本文帶領(lǐng)大家一起來了解下 Spring Boot 到底是什么?包括springboot的誕生,springboot特征具有哪些優(yōu)勢,如何讓開發(fā)變得更簡單,帶著這些問題一起通過本文學(xué)習(xí)下吧
    2021-06-06

最新評論

江口县| 北安市| 翁源县| 镇原县| 五莲县| 梅河口市| 时尚| 九龙坡区| 桐庐县| 淮阳县| 资阳市| 堆龙德庆县| 平安县| 噶尔县| 曲靖市| 正阳县| 江源县| 凤冈县| 建德市| 红河县| 思南县| 肇东市| 永川市| 富锦市| 弥渡县| 金华市| 巴楚县| 苍山县| 喀什市| 石渠县| 日照市| 南丹县| 启东市| 福泉市| 育儿| 南丹县| 阜康市| 无极县| 开化县| 宣恩县| 织金县|