Mybatis-plus如何查詢返回對象內(nèi)有List<String>屬性
更新時間:2024年10月21日 14:37:02 作者:工程師123456
在使用Mybatis-Plus進(jìn)行開發(fā)時,我們經(jīng)常會遇到需要處理一對多關(guān)系映射的情況,例如,查詢用戶數(shù)據(jù)時,可能需要同時獲取該用戶管理的所有小區(qū)名稱列表,這要求我們在返回的實(shí)體類中包含一個List<String>屬性,用于存放小區(qū)名稱,實(shí)現(xiàn)這一功能
Mybatis-plus查詢返回對象內(nèi)有List<String>屬性
業(yè)務(wù)邏輯 查詢用戶數(shù)據(jù)時攜帶用戶所管理小區(qū)的名稱List< String >
用戶與管理的小區(qū)是一對多的關(guān)系
查詢返回實(shí)體類
@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;
/**
* 根據(jù)小區(qū)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();
}總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用spring連接及操作mongodb3.0實(shí)例
這篇文章主要介紹了使用spring連接及操作mongodb3.0實(shí)例,詳細(xì)的介紹了使用spring的情況下,在java中簡單操作mongodb。有興趣的可以了解一下。2016-12-12
Java集成Redis構(gòu)建企業(yè)級的高可用分布式緩存系統(tǒng)
在當(dāng)今的互聯(lián)網(wǎng)應(yīng)用中,隨著用戶量和數(shù)據(jù)量的快速增長,系統(tǒng)性能和可用性面臨著巨大挑戰(zhàn),本文將深入探討如何在Java應(yīng)用中集成Redis,構(gòu)建企業(yè)級的分布式緩存解決方案,有需要的小伙伴可以了解下2025-09-09
spring?boot?2.x靜態(tài)資源會被攔截器攔截的原因分析及解決
這篇文章主要介紹了spring?boot?2.x靜態(tài)資源會被攔截器攔截的原因分析及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01
Java實(shí)現(xiàn)從jar包中讀取指定文件的方法
這篇文章主要介紹了Java實(shí)現(xiàn)從jar包中讀取指定文件的方法,涉及java針對jar文件的讀取及查找相關(guān)操作技巧,需要的朋友可以參考下2017-08-08
Java基礎(chǔ)學(xué)習(xí)之構(gòu)造方法詳解
這篇文章主要為大家詳細(xì)介紹了Java基礎(chǔ)學(xué)習(xí)中構(gòu)造方法的概述及注意事項,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Java有一定幫助,需要的可以參考一下2022-08-08

