mybatis中resulttype的类型
时间: 2023-04-13 19:04:03 浏览: 240
Mybatis中resulttype的类型包括以下几种:
1. 简单类型:如int、String、Date等。
2. 复杂类型:如自定义的JavaBean等。
3. Map类型:可以将查询结果映射为Map类型。
4. List类型:可以将查询结果映射为List类型。
5. Array类型:可以将查询结果映射为数组类型。
6. 枚举类型:可以将查询结果映射为枚举类型。
7. ResultSet类型:可以将查询结果映射为ResultSet类型。
8. Object类型:可以将查询结果映射为Object类型。
相关问题
mybatis的resulttype类型List<Map
### MyBatis 中 `resultType` 为 `List<Map>` 的使用方法
在 MyBatis 中,当希望查询的结果是一个列表中的每一个元素都是键值对形式的地图结构时,可以设置 `resultType="java.util.Map"` 来表示每一行记录会被转换成一个 Map 对象。对于多条记录的情况,则最终得到的是包含这些 Map 对象的列表。
#### 定义 Mapper 接口的方法签名
为了接收来自数据库的一组数据并将其封装进 `List<Map<String,Object>>` 结构里,在接口中声明如下所示的方法:
```java
public interface UserMapper {
List<Map<String, Object>> getUserInfo();
}
```
此方法名为 `getUserInfo()`,其返回类型被指定为 `List<Map<String, Object>>` 表明该函数将返回由字符串作为 key 和对象作为 value 组成的映射表组成的列表[^2]。
#### 编写对应的 XML 映射文件
接着是在相应的 mapper.xml 文件内编写 SQL 语句以及指明 `resultType` 参数:
```xml
<select id="getUserInfo" resultType="java.util.HashMap">
SELECT user_id AS userId,
username,
email_address AS emailAddress
FROM users;
</select>
```
这里需要注意几点:
- `<select>` 标签内的 `id` 属性应当与上述 Java 方法名相匹配;
- 设置了 `resultType="java.util.HashMap"`,意味着每一条从数据库读取出来的记录都会被打包成为一个 HashMap 实例;
- 使用别名(如 `AS userId`),可以让字段名称更加直观,并且确保即使数据库列名和实体类属性命名不同也能正确映射[^1]。
通过这种方式,MyBatis 可以轻松地把查询结果转化为易于使用的 `List<Map<String, Object>>` 形式的集合,而无需事先定义专门的数据传输对象 (DTO)。
mybatis中resulttype
MyBatis中的resultType是指查询结果的类型,它可以是Java中的任何类型,包括基本类型、自定义类型、集合类型等。在MyBatis中,我们可以通过resultType属性来指定查询结果的类型,例如:
<select id="getUserById" resultType="com.example.User">
select * from user where id = #{id}
</select>
上面的例子中,resultType属性指定了查询结果的类型为com.example.User,即查询结果将会被映射为一个User对象。
阅读全文
相关推荐















