mybatis返回外键对象列的查询方法

比如用户表user  评论表Comments


我根据评论表里的userid查询用户名字

我们要去评论表的配置文件  也就是CommentsMapper.xml文件里配置

添加配置

<sql id="usertable">userid,username</sql>
  <resultMap type="com.appraise.test.pojo.Users" id="UsersMap">
  	<id column="userid" property="userid" jdbcType="INTEGER"/>
  	<result column="username" property="username" jdbcType="VARCHAR"/>
  	<result column="password" property="password" jdbcType="VARCHAR"/>
</resultMap>


然后查询代码如下

<select id="getUsers" resultMap="UsersMap" parameterType="java.lang.Integer">
  	select <include refid="usertable"/> from users u where u.userid=#{userid,jdbcType=INTEGER}
</select>




                
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Mybatis中可以通过association标签实现一对多查询。association标签用于处理一对一关系,而collection标签用于处理一对多关系。在一对多查询中,通常会在主表中包含一个外键,该外键指向从表中的主键。 下面是一个简单的示例,假设我们有两个表Order和OrderItem,Order表中包含一个外键指向OrderItem表的主键,代码如下: ``` <resultMap id="orderMap" type="Order"> <id property="orderId" column="order_id" /> <result property="orderName" column="order_name" /> <association property="orderItem" resultMap="orderItemMap" /> </resultMap> <resultMap id="orderItemMap" type="OrderItem"> <id property="orderItemId" column="order_item_id" /> <result property="orderItemName" column="order_item_name" /> </resultMap> <select id="selectOrder" resultMap="orderMap"> select * from order o left join order_item oi on o.order_id = oi.order_id where o.order_id = #{orderId} </select> ``` 在上面的示例中,我们定义了两个resultMap,一个用于映射Order表,另一个用于映射OrderItem表。在Order表的resultMap中,我们使用了association标签来处理一对多关系,将Order表中的orderItem属性映射到OrderItem表中,通过resultMap属性指定了OrderItem表的resultMap。 在select语句中,我们通过left join关键字将Order表和OrderItem表关联起来,通过where条件指定了查询的订单ID。最终返回的结果将会是一个Order对象,其中包含一个List<OrderItem>类型的orderItem属性,该属性中包含了该订单对应的所有订单项。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值