广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Mybatis实现联表查询并且分页功能
  • 375
分享到

Mybatis实现联表查询并且分页功能

2024-04-02 19:04:59 375人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

今天同学突然问我这个怎么搞。 然后自己搞了一下发现这个玩意有坑。。就记录一下 0. 表结构 person表 cat表 一个person有多个cat 实体类就这么写 1. 实体类

今天同学突然问我这个怎么搞。
然后自己搞了一下发现这个玩意有坑。。就记录一下

0. 表结构

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>

然后查出来就是这个吊样。。。很明显嘛,不对我的胃口。。

在这里插入图片描述

后面我准备放弃的时候突然想到可以来一个子查询。。。

然后我就写出了这样的sql
,在子查询里面套子查询。。。实现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

在这里插入图片描述

到此这篇关于Mybatis联表查询并且分页的文章就介绍到这了,更多相关Mybatis查询分页内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Mybatis实现联表查询并且分页功能

本文链接: https://www.lsjlt.com/news/122407.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Mybatis实现联表查询并且分页功能
    今天同学突然问我这个怎么搞。 然后自己搞了一下发现这个玩意有坑。。就记录一下 0. 表结构 person表 cat表 一个person有多个cat 实体类就这么写 1. 实体类 ...
    99+
    2022-11-11
  • MyBatis-Plus联表查询及分页
    MyBatis-Plus联表查询及分页 一、准备工作1、数据库结构以及数据2、依赖3、配置类让mybatis-plus-join在DataScopeSqlInjector中生效4、启动类排除MPJSqlInjector.class ...
    99+
    2023-08-16
    mybatis mysql java
  • mybatis-plus多表关联查询功能的实现
    学习目标: mybatis-plus多表关联查询 学习内容: mybatis-plus多表关联查询 实体类部分代码 @Data @AllArgsConstructor @NoAr...
    99+
    2022-11-12
  • Springboot+Mybatis实现分页加条件查询功能
    本文实例为大家分享了Springboot+Mybatis实现分页加条件查询的具体代码,供大家参考,具体内容如下 User.xml <xml version="1.0" enco...
    99+
    2022-11-13
  • mybatis-plus 多表关联条件分页查询
    此处以一对多,条件分页查询为例: 一.表结构: 主表 CREATE TABLE `t_user` ( `id` bigint NOT NULL AUTO_INCREMENT, `user_name` varchar(255) DEFAU...
    99+
    2023-08-20
    mybatis mysql java
  • mybatis-plusQueryWrapperandor连用并且实现分页
    目录QueryWrapper and or 连用并分页and or 拼完后的结果是这样的使用or和and的问题比如下面这种QueryWrapper and or 连用并分页 Pag...
    99+
    2022-11-12
  • Oracle使用MyBatis中RowBounds实现分页查询功能
    Oracle中分页查询因为存在伪列rownum,sql语句写起来较为复杂,现在介绍一种通过使用MyBatis中的RowBounds进行分页查询,非常方便。 使用MyBatis中的RowBounds进行分页查...
    99+
    2022-10-18
  • 如何使用mybatis-plus实现分页查询功能
    今天就跟大家聊聊有关使用mybatis-plus如何实现分页查询功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 引入依赖...
    99+
    2022-11-13
  • Mybatis实现分页查询
    一. 简单分页查询——limit 使用select查询时,如果结果集数据量较大,一个页面难以处理,就会采用分页查询。 分页查询,就是从结果集中拿出指定的第n页到第m页的数据来显示。 // limit分页公式 // currentP...
    99+
    2023-09-12
    mybatis java mysql
  • springboot +mybatis 使用PageHelper实现分页并带条件模糊查询功能
    完整案例: SpringBoot + laypage分页 + 模糊查询 完整案例 下面在通过实例代码介绍下springboot +mybatis 使用PageHelper实现分页并带...
    99+
    2022-11-13
  • Springboot+Mybatis怎么实现分页加条件查询功能
    本篇内容介绍了“Springboot+Mybatis怎么实现分页加条件查询功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!User.xml...
    99+
    2023-06-30
  • Mybatis-Plus实现分页查询
    Mybatis-Plus实现分页查询 文章目录 Mybatis-Plus实现分页查询1.1技术概述1.2技术详述1.2.1配置分页插件1.2.2自定义分页1、如果你的mapper没有继承BaseMapper2、如果你的mapper继...
    99+
    2023-08-17
    mybatis java spring boot
  • Java实现分页查询功能
    分页查询 分页查询将数据库中庞大的数据分段显示,每页显示用户自定义的行数,提高用户体验度,最主要的是如果一次性从服务器磁盘中读出全部数据到内存,有内存溢出的风险 真假分页 假分页: ...
    99+
    2022-11-13
  • Mybatis分页查询怎么实现
    小编给大家分享一下Mybatis分页查询怎么实现,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!我们实现查询除了@org.junit.Test  ...
    99+
    2023-06-28
  • 如何在springboot中使用mybatis-plus实现一个多表分页查询功能
    这篇文章将为大家详细讲解有关如何在springboot中使用mybatis-plus实现一个多表分页查询功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。新建一个springboot工程需要...
    99+
    2023-06-07
  • Mysql 如何实现多张无关联表查询数据并分页
    Mysql 多张无关联表查询数据并分页 功能需求 在三张没有主外键关联的表中取出自己想要的数据,并且分页。 数据库表结构 水果表: 坚果表:   饮料表: 数据库随便建的,重在方法。 主要使用UNIO&...
    99+
    2022-06-01
    Mysql 多表查询数据 数据分页
  • spring boot集成mybatis-plus——Mybatis Plus 多表联查(包含分页关联查询,图文讲解)...
    Mybatis Plus 多表联查(包含分页关联查询,图文讲解)  更新时间 2023-01-03 21:41:38 大家好,我是小哈。 本小节中,我们将学习如何通过 Mybatis Plus 实现多表关联查询,以及...
    99+
    2023-08-31
    mybatis spring boot java 数据库 mysql
  • mybatis-plus多表分页查询最佳实现(简单)
    1.简介 在Mybatis Plus 中,虽然IService 接口帮我们定义了很多常用的方法,但这些都是 T 对象有用,如果涉及到 多表的查询,还是需要自定义Vo 对象和自己编写sql 语句,Mybatis Plus提供了一个Page 对...
    99+
    2023-08-23
    mybatis java mysql
  • Mybatis Plus一对多联表查询及分页解决方案
    文章目录 需求需求分析分页问题说明分页问题原因一对多场景一一对多场景二性能优化优化解决方案 需求 查询用户信息列表,其中包含用户对应角色信息,页面检索条件有根据角色名称查询用户列...
    99+
    2023-10-22
    mybatis java 开发语言
  • ajax如何实现分页查询功能
    小编给大家分享一下ajax如何实现分页查询功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!ajax分页查询功能的具体代码,具体内容如下显示的效果如下:实现效果的...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作