举个 mybatis collection中能再次使用多对一查询的例子
时间: 2023-05-13 10:05:08 浏览: 82
可以通过在MyBatis的映射文件中使用<resultMap>标签来实现多对一查询。例如,假设我们有两个表:订单表和用户表,一个订单只能属于一个用户,但一个用户可以有多个订单。我们可以使用以下代码来实现多对一查询:
<resultMap id="orderResultMap" type="Order">
<id property="id" column="order_id"/>
<result property="orderNo" column="order_no"/>
<result property="user" column="user_id" select="getUserById"/>
</resultMap>
<select id="getOrderById" resultMap="orderResultMap">
SELECT order_id, order_no, user_id
FROM orders
WHERE order_id = #{id}
</select>
<select id="getUserById" resultType="User">
SELECT user_id, username, email
FROM users
WHERE user_id = #{id}
</select>
在这个例子中,我们定义了一个<resultMap>标签,它包含了订单表的列和一个对用户表的查询。我们还定义了两个<select>标签,一个用于查询订单,另一个用于查询用户。在订单查询中,我们使用了<resultMap>标签来映射查询结果,并在用户列中使用了select属性来指定查询用户的<select>标签。这样,我们就可以在订单查询中获取用户信息,实现多对一查询。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)