MyBatis中resultMap和resultType的区别详解
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)

MyBatis中resultMap和resultType的区别详解 MyBatis是当前最流行的持久层框架之一,它提供了强大的SQL映射能力和灵活的配置机制。在MyBatis中,我们经常会遇到resultMap和resultType这两个概念,虽然它们都用于将查询结果映射到Java对象中,但是它们之间存在着很大的区别。 resultType是MyBatis中最基本的映射方式,它使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功。这意味着,数据库中的列名和实体类的属性名必须是一致的,否则无法映射成功。例如,如果数据库中的列名是cId,而实体类的属性名是cid,那么使用resultType将无法映射成功。 resultMap则是MyBatis中高级的映射方式,如果查询出来的列名和pojo的属性名不一致,通过定义一个resultMap对列名和pojo属性名之间作一个映射关系。这种映射关系可以使数据库中的列名和实体类的属性名不一致的情况下仍然可以映射成功。resultMap要配置一下,表和类的一一对应关系,所以说就算你的字段名和你的实体类的属性名不一样也没关系,都会给你映射出来。 在实际应用中,我们可以根据需要选择使用resultType或resultMap。如果我们的数据库中的列名和实体类的属性名是一致的,那么使用resultType即可,但是如果我们的数据库中的列名和实体类的属性名不一致,那么我们需要使用resultMap来定义映射关系。 在MyBatis中,我们可以在mapper.xml文件中定义resultMap,例如: ``` <resultMap type="cn.itcast.mybatis.po.Orders" id="OrdersUserResultMap"> <!-- 配置映射的订单信息 --> <id column="id" property="id"/> <result column="user_id" property="userId"/> <result column="number" property="number"/> <result column="createtime" property="createtime"/> <result column="note" property="note"/> <!-- 配置映射的关联的用户信息 --> <association property="user" javaType="cn.itcast.mybatis.po.User"> <id column="user_id" property="id"/> </association> </resultMap> ``` 在上面的例子中,我们定义了一个resultMap,用于将查询结果映射到Orders对象中,其中包括了订单信息和关联的用户信息。 resultType和resultMap都是MyBatis中用于将查询结果映射到Java对象的方式,但是它们之间存在着很大的区别。resultType适用于数据库中的列名和实体类的属性名一致的情况,而resultMap适用于数据库中的列名和实体类的属性名不一致的情况。




























- 我也比不过后来者居上2022-11-09资源不错,内容挺好的,有一定的使用价值,值得借鉴,感谢分享。

- 粉丝: 5
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 互联网+背景下海底捞公司成本控制研究(1).docx
- 浅谈建立财务信息化内部控制体系的设想(1).docx
- 基于web的财务管理系统源代码.docx
- 信息化环境下网络平台与教学融合运用绩效调查与分析(1).docx
- 凭借计算机教学优势实现小语教学信息化(1).docx
- cad学习心得体会(1).doc
- 软件缺陷报告(1).ppt
- 软件行业年度工作总结(1).docx
- 工业控制与人工智能(基础篇)(1).pptx
- 工业互联网的现状及发展趋势(1).docx
- 计算机投标书范文(1).doc
- 信息化时代的初中物理课堂教学研究(1).docx
- 浅探互联网+背景下语文作业的设计(1).docx
- 基于网络环境下的中职院校计算机软件应用研究性学习分析(1).docx
- 企业信息化-网站建设策划方案(1)(1).doc
- 2022互联网商务计划书PPT模板重点解读(1).pptx


