mybatis 在进行 select 查询操作的时候,返回类型可以用 resultType,也可以用 resultMap;

resultType 是直接表示返回类型的(一般返回为基本数据类型时使用,当查询的是一条SQL数据时,且这条SQL数据的每个字段都和一个Javabean 中的属性名 与之对应,mybatis 会通过 autoMapping ,将每个字段的值赋给 Javabean),而当字段名和属性名不一致时,这时可以使用 resultMap

resultMap 是对外部的一个 ResultMap 标签的引用,并且  resultType 跟 resultMap 不能同时存在。

一个简单 resultMap 查询

select * from teacher where id=#{id}

当 SQL 中字段名 和 javabeen Teacher 的属性名一致时,自动映射写法如下

select * from teacher where id=#{id}

resultMap 常用标签属性说明

id:对应中 resultMap 的名称

type:type就是指定映射到哪一个实体类中

column:在数据库中的列名称

property:在实体类定义的属性名称

associattion :实体类对象包含另一个对象时,例如:一个学生对应一个老师 student =》teacher

collection :实体类对象包含的是一个集合时,例如:一个老师对应一群学生 teacher =》List

association(一对一) 和 collection(一对多)

association:一个学生对应一个老师 student =》teacher

select * from student

collection:一个老师对应一群学生 teacher =》List

select * from teacher

select:用于加载复杂类型属性的映射语句的 ID,它会从 column 属性指定的列中检索数据,作为参数传递给目标 select 语句。 具体请参考下面的例子。注意:在使用复合主键的时候,你可以使用 column="{prop1=col1,prop2=col2}" 这样的语法来指定多个传递给嵌套 Select 查询语句的列名。这会使得 prop1 和 prop2 作为参数对象,被设置为对应嵌套 Select 语句的参数。

SELECT * FROM BLOG WHERE ID = #{id}

SELECT * FROM AUTHOR WHERE ID = #{id}

property:映射到列结果的字段或属性。 -----------------指的是 javaBean 中的属性 类型(一个javaBeen 中的属性可以是基本数据类型也可以是 Object)

javaType:一个 Java 类的完全限定名,或一个类型别名。---------------------指的是一个 JavaBean class类型( A a = new a(); 理解为 A 类型)

java resultmap_mybatis: resultMap 结果集映射和多表查询相关推荐

  1. MyBatis总结六:resultMap详解(包含多表查询)

    From: https://www.cnblogs.com/Alex-zqzy/p/9296039.html 简介: MyBatis的每一个查询映射的返回类型都是ResultMap,只是当我们提供的返 ...

  2. java开发中为什么不建议连表查询

    一:单表查询更有利于后续维护 二:代码可复用性高 三:效率问题 a:数据量小的情况下,连表查询的效率还是可以的,但是如果连表比较多,数据量上去,查询是笛卡尔积方式,查询的数据量是成几何倍上升的,这种情 ...

  3. Java连接MySQL实现登录及多表查询

    MySQL表的结构及数据 表customer(客户信息表) 表dict(数据字典表) 表user(用户信息表,用于登录及注册) create table customer ( id int(32) a ...

  4. 【Mybatis】MyBatis 实现多表查询

    大纲 Auto Mapping 单表实现(别名方式) <resultMap>实现单表配置 单个对象关联查询(N+1,外连接) 集合对象关联查询 注解开发 MyBatis 运行原理 准备:创 ...

  5. MyBatis多表查询之XML和注解实现(resultMap结果集映射配置数据库字段与实体类属性一一映射)

    MyBatis多表查询 多表模型分类 一对一:在任意一方建立外键,关联对方的主键. 一对多:在多的一方建立外键,关联一的一方的主键. 多对多:借助中间表,中间表至少两个字段,分别关联两张表的主键. 数 ...

  6. 【Java从0到架构师】MyBatis - 多表查询_延迟加载

    多表查询_延迟加载 多表关系 一对一 association 标签 + JOIN 实现一对一 一对多 \ 多对一 collection 标签 + LEFT JOIN 实现一对多 多对多 多对多的本质: ...

  7. Java-Mybatis(二): Mybatis配置解析、resultMap结果集映射、日志、分页、注解开发、Mybatis执行流程分析

    Java-Mybatis-02 学习视频:B站 狂神说Java – https://www.bilibili.com/video/BV1NE411Q7Nx 学习资料:mybatis 参考文档 – ht ...

  8. MyBatis 实现多表查询、resultMap 标签、MyBatis 注解、mybatis运行原理

    内容 Auto Mapping 单表实现(别名方式) 实现单表配置 单个对象关联查询(N+1,外连接) 集合对象关联查询 注解开发 MyBatis 运行原理 一.MyBatis 实现多表查询 Myba ...

  9. java代码内创建mysql索引_点评阿里JAVA手册之MySQL数据库 (建表规约、索引规约、SQL语句、ORM映射)...

    下载原版阿里JAVA开发手册  [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文内容:MySQL数据库 (建表规约.索引规约.SQL语句.ORM映 ...

最新文章

  1. Nature Method:Bioconda解决生物软件安装的烦恼
  2. 数字图像处理2:传统插值
  3. 《强化学习周刊》第18期:ICML-2021强化学习的最新研究与应用
  4. java影像出租面向对象,Java中的面向对象 - zhiruochujian的个人空间 - OSCHINA - 中文开源技术交流社区...
  5. 结构体在多线程中用法
  6. 原创 | 开源AI测试专题、Jmeter测试专题
  7. 计算机网络技术实验,计算机网络技术实验一
  8. 七乐彩中奖规则表_双色球第2020118期开奖结果出炉!你中奖了吗?
  9. 微信小程序直播为什么这么受欢迎
  10. [Win] 免登录百度网盘高速下载器 ENFI下载器 v1.3.1
  11. MongoDB 数据全量备份
  12. web高级程序员必备知识
  13. 「镁客·请讲」中科云创周北川:从数据到云端,我们要上下打通工业物联网产业链...
  14. linux云自动化系统运维19(磁盘阵列raid,lvm管理)
  15. RabbitMQ消息监听(多种模式-fanout/topic)
  16. PHP解析错误 PHP Parse error: syntax error, unexpected '[' in
  17. H5+ 调用Barcode 实现二维码扫一扫
  18. Arduino基础入门篇06—流动的LED灯
  19. Java最简单的实现脏话屏蔽
  20. SQLException SQL state [HY001] error code [1038]Out of sort memory

热门文章

  1. java多线程读取文件_java多线程读写同一个文件
  2. Excel 编写第一个简单的VBA程序
  3. Oracle数据库客户端各个版本下载
  4. unity 手机重力迷宫(三)
  5. python:求解一元二次方程
  6. Linux上subversion的安装和使用
  7. php 获得ip地址区域及运营商 抓取百度的数据
  8. 前端工具Storybook简介
  9. 微信小程序【网易云音乐实战】(第二篇 轮廓图、阿里巴巴的矢量图标、滚动条、前后端交互、列表渲染)
  10. Java解决“鸡兔同笼”问题