首页 > 其他分享 >mybatis中的多表联查(第一步先通过仓库的id获取仓库数据,第二部通过在仓库数据中包含的商品id查询出商品的数据)

mybatis中的多表联查(第一步先通过仓库的id获取仓库数据,第二部通过在仓库数据中包含的商品id查询出商品的数据)

时间:2023-09-12 09:00:43浏览次数:35  
标签:StoreHouseMapper 仓库 查询 gId 数据 id

2023-09-12

仓库

StoreHouseMapper

/**
     * 分步查询
     * 首先通过仓库的id查询出仓库
     */
    StoreHouse getSHAndGoodsByStepOne(@Param("id")Integer id);

StoreHouseMapper.xml

    <resultMap id="getSHAndGoodsByStepOneRM" type="StoreHouse">
        <id column="id" property="id"/>
        <result column="s_name" property="sName"/>
        <result column="s_type" property="sType"/>
        <result column="s_description" property="sDescription"/>
        <association property="goods"
                     select="com.hh.mapper.GoodsMapper.getSHAndGoodsByStepTwo"
                        column="g_id">

        </association>
    </resultMap>

    <select id="getSHAndGoodsByStepOne" resultMap="getSHAndGoodsByStepOneRM">
        select * from t_storehouse where id = #{id}
    </select>

商品

GoodsMapper

 /**
     * 分步查询第二步
     * 通过获取的仓库id获取商品数据
     */
    Goods getSHAndGoodsByStepTwo(@Param("gId")Integer gId);

GoodsMapper.xml

<select id="getSHAndGoodsByStepTwo" resultType="Goods">
        select * from t_goods where g_id=#{gId}
</select>

测试

@Test
    public void testSelectByStep(){
        SqlSession sqlSession = SqlSessionUtils.getSqlSession();
        StoreHouseMapper mapper = sqlSession.getMapper(StoreHouseMapper.class);
        StoreHouse storeHouse = mapper.getSHAndGoodsByStepOne(3);
        System.out.println(storeHouse);
        sqlSession.close();
    }

查询数据(测试数据)

 

标签:StoreHouseMapper,仓库,查询,gId,数据,id
From: https://www.cnblogs.com/isDaHua/p/17695084.html

相关文章

  • 数据结构之链表
    说明链表是数据结构中的线性结构,用于存储一系列元素(节点),其中每个元素都包含一个指向下一个元素的引用。链表由一组节点组成,每个节点包含两个部分:数据和指向下一个节点的指针(或引用)。线性结构中对比数组/列表的优势:插入和删除性能较好涉及的概念:1.节点:节点包括2个域,元素域、......
  • Redis7 10大数据类型(概述)
    一、概述二、数据类型1、redis字符串(String)String(字符串)string是redis最基本的类型,一个key对应一个value。string类型是二进制安全的,意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象。string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是51......
  • IntelliJ IDEA 最新下载、安装教程、激活教程,亲测可用
    下载与安装IDEA首先先到官网下载最新版的IntelliJIDEA,下载后傻瓜式安装就好了 1、下载完后在本地找到该文件,双击运行idea安装程序2、点击Next3、选择安装路径,Next4、按需求选择,点击Next5、默认,不用改,直接点Install,安装6、安装完成后,点击Finish,也可勾选RunIntellijIDEA......
  • 3. Java数据类型
    Java数据类型:基本数据类型和引用数据类型前面我们提到 Java 语言是强类型语言,编译器存储在变量中的数值具有适当的数据类型。学习任何一种编程语言都要了解其数据类型,本文将详细介绍Java中的数据类型。Java语言支持的数据类型分为两种:基本数据类型(PrimitiveType)和引用数据......
  • 自写vue导航栏--动态读取js的数据
    App.vue<template><el-containerclass="layout-container-demo"style="height:500px"><el-asidewidth="200px"><el-scrollbar><!--<el-menu:default-openeds="['1'......
  • 基于大数据的校园精准精扶贫机制的分析与实现-计算机毕业设计源码+LW文档
    一、研究的背景意义所谓大数据技术,主要指能够进行传统常规软件无法处理的海量数据的数据统计、处理、挖掘和分析等相关技术。大数据技术的重点不是获取和存储海量的数据信息,而是对这些海量数据信息进行专业化处理。大数据技术离不开云计算,云计算为大数据技术的应用提供了基本的设......
  • 基于Android毕业生管理系统的设计与实现-计算机毕业设计源码+LW文档
    一、研究的背景意义高校是培养人才的地方,对智能化发展非常重视,教育部搭建的教育网,专门为教育教学提供帮助。利用教育网的基础搭建各种管理系统,实现校园内信息的有效管理,对教育教学、学生生活、高校宣传等进行综合管理。在毕业生管理中,功能模块的数据通过数据库存储,并为各个模块预......
  • 缓存和数据库一致性问题
    先说结论:1、想要提高应用的性能,可以引入「缓存」来解决2、引入缓存后,需要考虑缓存和数据库一致性问题,可选的方案有:「更新数据库+更新缓存」、「更新数据库+删除缓存」3、更新数据库+更新缓存方案,在「并发」场景下无法保证缓存和数据一致性,且存在「缓存资源浪费」和「机......
  • MySQL数据误删flashback
    使用binlog2sql(Python版)解析binlog文件来创建回滚的sql准备工作需要提前安装Python环境gitclonehttps://github.com/danfengcao/binlog2sql.gitcdbinlog2sqlpip3install-rrequirements.txtMySQL必须开启binlog,且binlog_format=ROW,且binlog_row_image=FULLshowv......
  • 使用IDEA图形化界面或者DataGrip连接Phoenix
    使用IDEA图形化界面连接Phoenix_idea连接phoenix_大数据小菜鸡的博客-CSDN博客今天连接他很费劲啊;恶心死。 ......