首页 > 其他分享 >多对一的处理

多对一的处理

时间:2023-02-03 02:55:23浏览次数:32  
标签:name 处理 id Student 查询 teacher select

 

第一种是根据Student表里的tid去teacher再去查一次,将查询结果映射为resulttype Student类的第三个属性Teacher,以为是引用类型,所以要指明javatype

 

 

 第二种是将需要的字段查询出来之后只对结果进行处理,将查询的列名映射到Student的三个属性,但是第三个属性为teacher,所以使用asosiatid联系到Teacher类,然后将查询到的teacher表里的tname映射到teacher类里的name属性

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.guo.dao.StudentMapper">
    <select id="getStudent2" resultMap="StudentTeacher2">
        select s.id sid,s.name sname,t.name tname
        from student s,teacher t
        where s.id=t.id
    </select>
    <resultMap id="StudentTeacher2" type="com.guo.pojo.Student">
        <result property="id" column="sid"/>
        <result property="name" column="sname"/>
        <association property="teacher" javaType="com.guo.pojo.Teacher">
            <result property="name" column="tname"/>
        </association>
    </resultMap>

    <select id="getStudent" resultMap="StudentTeacher">
        select * from student
    </select>
    <resultMap id="StudentTeacher" type="com.guo.pojo.Student">
        <result property="id" column="id"/>
        <result property="name" column="name"/>
        <association property="teacher" column="tid" javaType="com.guo.pojo.Teacher" select="getTeacher"/>
    </resultMap>
    <select id="getTeacher" resultType="com.guo.pojo.Teacher">
        select * from teacher where id=#{id}
    </select>
</mapper>

 

标签:name,处理,id,Student,查询,teacher,select
From: https://www.cnblogs.com/guojianglong/p/17087905.html

相关文章

  • Jmeter 处理MD5加密
    引入MD5加密所需要的jar包。该jar包的名字是:commons-codec-1.9.jarhttps://mvnrepository.com/artifact/commons-codec/commons-codec/1.9 线程组下添加一个前置......
  • Luogu5435 基于值域预处理的快速 GCD & Leetcode2543 - binary GCD -
    题目链接:https://www.luogu.com.cn/problem/P5435请忽略题目名称学到一个科技:binaryGCD,能够快速求出两个数GCD(从这道题来看已经接近\(O(1)\)了)代码://bySkyRainW......
  • 机器学习-数据处理-降维
    降维的定义降维是将高维数据变成低维表示,同时数据中蕴含的信息尽量保持不变。(高维—>低维)降维是一种非监督学习任务。因为降维过程中不用样本的标签。(非监督) 降维的......
  • SpringBoot的静态路径映射处理
    springboot的默认静态路径:resources下面的/static;/public;/resources;/META-INF/resources这四个文件路径静态路径的默认映射路径是:/**;意思就是说浏览器......
  • C++ 处理字符串编码问题
    #include<iostream>#include<locale>#include<codecvt>std::stringUnicodeToUTF8(conststd::wstring&wstr){std::stringret;try{std::wst......
  • jQuery的事件处理
    jQuery的事件处理文档加载事件.ready(fn)$(document).ready(function(){//编写代码});与window.onload方法的区别执行时间:window.onload方法是在页面中所有的DOM元素(包括......
  • 单一资产VBA风险--基于python处理
    数据来源:AKShare包;介绍:https://www.akshare.xyz/index.html;它是一个免费、开源的Python财经数据接口包。一、计算日收益率;importpandasaspdimportnumpyasnpim......
  • 多资产VBA风险--基于python处理
    一、数据准备,先在excel表格上计算每日的波动率;excel数据为:  二、数据导入:importpandasaspdimportnumpyasnpimportakshareasakimportscipy.statsass......
  • 批处理脚本识别多安卓设备
    前言手机软件测试工作,很多时候都需要adb连接手机执行一些操作,只连接一台手机还好,但是要连接多个手机同时执行一些操作,比如monkey,压力操作时,就比较麻烦多设备连接的方法......
  • java异常处理机制(黑马)
    异常体系的介绍我们现在学习的异常不是为了让我们的代码以后不出现异常的情况,而是当程序出现异常之后我们该怎样处理异常体系结构我们一般只需要管Exception就可以......