当前位置: 首页 > article >正文

MyBatis的resultType和resultMap区别

        resultType和resultMap是在使用 MyBatis 框架时,映射查询结果到对象时使用的两个不同的配置元素。它们的主要区别在于它们如何映射 SQL 查询的结果集到 Java 对象。

1. resultType

  • resultType是一个简单的类型别名或者是一个完全限定的类名。

  • 它用于将查询结果直接映射到一个简单的 Java 对象或者一个 Map 对象。

  • 当使用resultType时,MyBatis会默认按照列名和对象属性名进行映射,如果列名和属性名不一致,需要手动指定映射关系。

  • 适用于简单场景,当结果集直接对应于一个 Java 对象时。

示例:  

<select id="selectUser" resultType="com.example.User">
     SELECT id, username, password FROM users WHERE id = #{id}
   </select>

2. resultMap 

  • resultMap提供了一个更高级的、细粒度的控制,允许定义复杂的映射策略。
  • 它允许为每个列指定一个映射路径,包括嵌套属性和集合属性。
  • resultMap可以用于处理关联查询,将多个表的结果映射到一个对象或者对象的集合中。
  • 它提供了更复杂的映射功能,如集合、继承、嵌套结果等。

示例: 

<resultMap id="userResultMap" type="com.example.User">
     <id property="id" column="id" />
     <result property="username" column="username" />
     <result property="password" column="password" />
</resultMap>
   <select id="selectUser" resultMap="userResultMap">
     SELECT id, username, password FROM users WHERE id = #{id}
   </select>

        总的来说,resultType适用于简单的映射,而 resultMap提供了更复杂的映射能力,适用于需要精细控制结果集映射的场景。


http://www.kler.cn/a/403745.html

相关文章:

  • 图的存储、遍历以及Dijkstra/Floyd/Kruskal/Prim/拓扑排序/关键路径(实验8--作业)
  • Python Matplotlib 数据可视化全面解析:选择它的七大理由与入门简介
  • JS基础知识02-运算符和表达式、控制结构
  • VRT: 关于视频修复的模型
  • 网络安全概论——网络安全基础
  • Elasticsearch面试内容整理-核心概念与数据模型
  • 力扣 LeetCode 112. 路径总和(Day8:二叉树)
  • 失落的Apache JDBM(Java Database Management)
  • 【项目实战】基于 LLaMA-Factory 通过 LoRA 微调 Qwen2
  • 2024信创数据库TOP30之蚂蚁集团OceanBase
  • 最新智能AI问答运营系统(SparkAi)一站式AIGC系统,GPT-4.0/GPT-4o多模态模型+联网搜索提问+AI绘画+管理后台,用户会员套餐
  • Excel中批量替换字符大PK:Excel VS. Python
  • c ++零基础可视化——vector
  • WebSocket详解、WebSocket入门案例
  • React渲染流程与更新diff算法
  • AMD(Xilinx) FPGA配置Flash大小选择
  • Linux:权限相关知识详解
  • 基于yolov8、yolov5的茶叶等级检测识别系统(含UI界面、训练好的模型、Python代码、数据集)
  • hhdb数据库介绍(9-26)
  • 当mysql的slave无法同步master数据时,如何基本不断业务重置主从同步关系
  • MySQL社区版的启动与连接
  • 数据集-目标检测系列- 花卉 鸡蛋花 检测数据集 frangipani >> DataBall
  • TensorFlow 2.0 windows11 GPU 训练环境配置
  • Unity3D空中突袭(1)场景导入
  • 全面认识AI Agent,一文读懂AI智能体的架构指南
  • Qlik Sense QVD 文件