mybatis的resultmap和resulttype
时间: 2023-05-01 16:04:45 浏览: 112
mybatis的resultMap和resultType指的是映射查询结果的方式。resultType是将查询结果直接映射到指定的JavaBean类中,而resultMap则是通过自定义映射关系将查询结果映射到JavaBean中。resultMap相对于resultType具有更灵活的映射方式,可以实现多表关联查询、查询结果字段做特殊处理等高级映射。
相关问题
mybatis resultmap和resulttype
MyBatis 中的 resultMap 和 resultType 是两种不同的查询结果映射方式。
resultType 是基于类型的映射,适用于返回结果为单一类型的情况,例如返回一个整型或字符串。
resultMap 是基于映射关系的映射,适用于返回结果为复杂类型的情况,例如返回一个对象或一组对象。
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` 则适用于单一对象或简单数据结构的查询。
阅读全文