mybatis结果集返回的类型
时间: 2023-10-25 15:03:18 浏览: 102
MyBatis支持多种类型的结果集返回,常见的类型有:
1. 简单类型
简单类型包括基本类型和基本类型的包装类,如int、long、boolean、String等。
2. Map类型
将查询结果封装为Map类型,其中Map的key为列名,value为列对应的值。
3. JavaBean类型
将查询结果封装为JavaBean类型,需要在JavaBean中定义属性和对应的setter和getter方法,MyBatis通过反射机制将查询结果映射为JavaBean对象。
4. List类型
将查询结果封装为List类型,其中List的元素可以是简单类型、Map类型或JavaBean类型。
5. 数组类型
将查询结果封装为数组类型,其中数组的元素可以是简单类型、Map类型或JavaBean类型。
以上是MyBatis中常见的结果集返回类型,可以根据具体的业务需求进行选择和使用。在Mapper.xml文件中使用resultType属性或resultMap配置项指定结果集返回类型。
相关问题
mybatis 结果集collection映射原理
MyBatis的结果集映射功能可以将一条SQL语句返回的结果集映射成一个Java对象,或者将多条结果集映射成多个Java对象。
其中,集合的映射功能是通过`collection`标签来实现的。`collection`标签可以用来映射一对多或者多对多的关联关系。在映射结果集集合的时候,MyBatis会首先调用`java.util.Collection`接口对应的类的实例化方法,然后再将映射结果集中的每一行数据映射成一个Java对象,并添加到集合中。
具体来说,MyBatis的`collection`标签有以下属性:
- property:指定集合属性的名称。
- ofType:指定集合中元素的类型。
- resultMap:指定映射该集合元素的结果映射。
- select:指定查询该集合元素的SQL语句。
- column:指定连接主查询语句和子查询语句时的连接字段。
在使用`collection`标签映射集合的时候,需要注意以下几点:
- 集合属性必须是一个Java集合类型,例如List、Set等。
- ofType属性必须指定集合元素的类型。
- select属性指定查询该集合元素的SQL语句时,可以使用`$`符号来引用主查询语句中的参数。例如:`select * from order_detail where order_id = #{id}`。
- column属性指定连接主查询语句和子查询语句时的连接字段时,可以使用`$`符号来引用主查询语句中的参数。例如:`select * from order_detail where order_id = ${id}`。
mybatis返回多结果集
MyBatis 支持返回多个结果集,也就是说,一个 MyBatis 的查询可以返回多个结果集,每个结果集可以有不同的类型。要返回多个结果集,需要在映射文件中使用 `select` 元素的 `resultSets` 属性来指定返回的结果集的数量和名称。
下面是一个示例,查询返回两个结果集 `books` 和 `authors`:
```xml
<select id="queryBooksAndAuthors" resultSets="books,authors">
SELECT * FROM books;
SELECT * FROM authors;
</select>
```
在 Java 中,可以使用 `SqlSession` 的 `selectList()` 方法来获取多个结果集:
```java
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
List<List<Book>> results = sqlSession.selectList("queryBooksAndAuthors");
List<Book> books = results.get(0);
List<Author> authors = results.get(1);
} finally {
sqlSession.close();
}
```
注意,`selectList()` 方法返回的是一个包含多个 `List` 对象的 `List` 对象,每个 `List` 对象对应一个结果集。
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)