mybatis中的id和result标签

<resultMap id="BaseResultMap" type="com.xunfang.core.entity.User">
<id property="id" column="post_id"/>
<result property="subject" column="post_subject"/>

这些是结果映射最基本的内容。id 和 result 都将一个列的值映射到一个简单数据类型(字符串,整型,双精度浮点数,日期等)的属性或字段。

这两者之间的唯一不同是, id 表示的结果将是对象的标识属性,这会在比较对象实例时用到。 这样可以提高整体的性能,尤其是缓存和嵌套结果映射(也就是联合映射)的时候。

标签用于封装sql的查询结果,可以包装成一个简单POJO对象,也可以包装成我们自定义的对象,只要我们使用子标签指定好查询结果的列和对象的属性之间的对应关系就好了

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
MyBatisresultresultMap标签都是用于将查询结果映射到Java对象上的标签,但它们之间有一些区别。 1. result标签 result标签是用于描述如何将查询结果的一列或多列映射到Java对象的属性上的。它通常用在select标签,用于指定查询结果集的一列或多列与Java对象的属性之间的映射关系。result标签有两个属性:column和property,分别表示查询结果集的列名和Java对象的属性名。 例如: ```xml <select id="getUserById" resultType="com.example.User"> select id, username, password, email from user where id = #{id} <result column="username" property="username"/> <result column="password" property="password"/> <result column="email" property="email"/> </select> ``` 在上面的示例result标签用于将查询结果集的username、password和email列分别映射到User对象的username、password和email属性上。 2. resultMap标签 resultMap标签是用于描述如何将查询结果集的多列映射到Java对象的多个属性上的。它通常用在select、insert、update和delete标签,用于指定查询结果集的多列与Java对象的多个属性之间的映射关系。resultMap标签有多个子标签,包括idresult、association、collection等,用于指定映射关系的不同方面。 例如: ```xml <resultMap id="userMap" type="com.example.User"> <id column="id" property="id"/> <result column="username" property="username"/> <result column="password" property="password"/> <result column="email" property="email"/> </resultMap> <select id="getUserById" resultMap="userMap"> select id, username, password, email from user where id = #{id} </select> ``` 在上面的示例resultMap标签用于将查询结果集id、username、password和email列分别映射到User对象的id、username、password和email属性上。 综上所述,result标签resultMap标签都是用于将查询结果映射到Java对象上的标签,但它们的使用场景和功能略有不同。result标签适用于简单的映射关系,而resultMap标签适用于复杂的映射关系。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值