java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Mybatis-plus查询返回对象内有List<String>属性

Mybatis-plus如何查询返回对象内有List<String>属性

作者:工程师123456

在使用Mybatis-Plus进行开发时,我们经常会遇到需要处理一对多关系映射的情况,例如,查询用户数据时,可能需要同时获取该用户管理的所有小区名称列表,这要求我们在返回的实体类中包含一个List<String>属性,用于存放小区名称,实现这一功能

Mybatis-plus查询返回对象内有List<String>属性

业务逻辑 查询用户数据时携带用户所管理小区的名称List< String >

用户与管理的小区是一对多的关系

查询返回实体类

@Data
public class UserVo{

    private Long userId;

    private String loginName;

    private String userName;

    private String password;

    private Integer userTypeEnum;

    private String email;

    private String phone;

    private Integer sexEnum;

    private String avatar;

    private Integer statusEnum;

    private Integer deleteFlag;

    private String loginIp;

    private LocalDateTime loginDate;

    private Long companyId;

    private String companyName;

    private String remark;

    /**
     *     根据小区id查询
     */
    private Long estateId;

    private List<String> estateNameList;

mapper.xml

<resultMap id="BaseResultMap" type="com.yiju.modules.system.user.pojo.entity.UserVo">
        <collection property="estateNameList" ofType="java.lang.String" javaType="java.util.List" select="getEstateName" column="user_id">
            <result column="estateNameList"/>
        </collection>
    </resultMap>


    <select id="userVoList" resultMap="BaseResultMap">
        SELECT
            distinct(t1.user_id) userId,
            t1.*,
            t2.company_name
        FROM
	        sys_user t1
	    LEFT JOIN charge_company t2 ON t1.company_id = t2.company_id
	    left join charge_user_estate t3 on t1.user_id=t3.user_id
	    </select>

    <select id="getEstateName" parameterType="java.lang.Long" resultType="java.lang.String" >
        select t4.house_estate_name estateNameList
        from charge_user_estate t3
	    inner join charge_base_estate t4 on t3.estate_id=t4.house_estate_id
	    where t3.user_id=#{user_id}
    </select>

mapper.java

public interface UserMapper extends BaseMapper<User> {

    List<UserVo> userVoList();

}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文