Mybatis使用resultMap查询对象

文章展示了如何在Mybatis中通过resultMap配置,将查询结果映射到包含User和UserInformation的对象UserDto中。查询涉及到两个关联的select语句,分别获取User和UserInformation的信息,然后在getUserDto方法中组合成UserDto。
摘要由CSDN通过智能技术生成

Mybatis使用resultMap查询对象

查询的结果对象

@Data
public class UserDto {

    private User user;

    private UserInformation userInformation;

}
@Data
@TableName("user")
public class User {

    @TableId(value = "id",type = IdType.AUTO)
    private Integer id;

    private String username;

    private String role;

    private String permission;

    private String password;

}

@Data
@TableName("user_information")
public class UserInformation {

    @TableId(value = "id",type = IdType.AUTO)
    private Integer id;

    private Integer userId;

    private String phone;

    private String address;

}

mapper.xml 中


<resultMap id="usetDto" type="com.fxp.as.dto.UserDto">
        <association property="user" column="id" javaType="com.fxp.as.bean.User" select="getUserById"></association>
        <association property="userInformation" column="id" javaType="com.fxp.as.bean.UserInformation" select="getUserInformation"></association>
    </resultMap>

<select id="getUserInformation" resultType="com.fxp.as.bean.UserInformation">
        select id,user_id,phone,address
        from user_information
        where user_id = #{id}
    </select>

    <select id="getUserById" resultType="com.fxp.as.bean.User">
        select id,username,role,permission,password
        from user
        where id = #{id}
    </select>
<select id="getUserDto" resultMap="usetDto">
        select #{vo.id} as id
    </select>

mapper dao 层中

UserDto getUserDto(@Param("vo") GetUserVo vo);

最终结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值