resultmap与resulttype
时间: 2023-06-05 20:47:55 浏览: 118
resultmap和resulttype都是MyBatis中用于映射查询结果的关键字。
resulttype是指查询结果的类型,可以是Java中的基本类型、包装类型、String、Date等,也可以是自定义的Java类。在MyBatis中,我们可以通过在映射文件中指定resulttype来告诉MyBatis查询结果的类型。
resultmap是指查询结果的映射关系,它可以将查询结果映射到Java对象的属性上。在MyBatis中,我们可以通过在映射文件中定义resultmap来告诉MyBatis如何将查询结果映射到Java对象的属性上。resultmap可以定义多个映射关系,每个映射关系可以指定查询结果的列名、Java对象的属性名、属性类型等信息。
相关问题
mybatis resultMap 与 resultType
在MyBatis中,`resultMap` 和 `resultType` 都是用于配置查询结果映射的元素,但它们的作用和用途略有不同:
1. **resultMap**(结果集映射):
- 它是用来定义一个通用的结果集合映射,可以在多个SQL语句中复用。当你需要处理复杂的数据结构,比如多个实体关联在一起的情况,这时resultMap非常有用。在Mapper XML文件中,你可以创建一个resultMap,然后在多个<select>标签中引用它。
- resultMap通过 `<resultMap>` 标签定义,其中包含了字段与实体属性的对应关系,例如 `<id>`、`<property>`、`<collection>` 等元素。
2. **resultType**(结果类型):
- 这是一个更简单的映射方式,它直接指定查询结果返回的具体对象类型,不涉及复杂的映射规则。通常用于单表查询或者结果结构相对简单的情况。
- 使用 `<select>` 标签时,可以在`resultType`或`resultMapping`属性中指定返回的对象类型,例如 `<select resultType="com.example.User">...</select>`。
总结来说,`resultMap` 更适合处理复杂的查询结果,而 `resultType` 则适用于单一对象或简单数据结构的查询。
resultMap与resultType的区别是什么
`resultMap` 和 `resultType` 都是 MyBatis 中用于映射查询结果的关键字。
- `resultType` 指定了查询结果类型,可以是基本数据类型、JavaBean 或其他自定义类型。例如:
```xml
<resultMap id="userResultMap" type="com.example.User">
<id property="id" column="user_id" />
<result property="username" column="username" />
<result property="password" column="password" />
</resultMap>
```
- `resultMap` 则是自定义映射规则,用于复杂查询结果的映射。可以自定义映射规则,例如将多个表的查询结果映射为一个 JavaBean。例如:
```xml
<resultMap id="orderResultMap" type="com.example.Order">
<id property="id" column="order_id" />
<result property="orderNo" column="order_no" />
<association property="user" resultMap="userResultMap" />
<collection property="items" resultMap="itemResultMap" />
</resultMap>
```
其中 `association` 和 `collection` 标签用于处理多表查询结果的映射。
总的来说,`resultType` 适用于简单查询结果的映射,而 `resultMap` 适用于复杂查询结果的映射。
阅读全文