mybatis中collection中的ofType="String"时

DTO:

package com.example.mybatis.entity;

import java.util.List;

/**
 * 统计部门下的员工名称(只查询出员工名称)
 */
public class ListString {
    // 部门id
    private int deptId;
    // 员工名称集合
    private List<String> empNames;

    public ListString() {
    }

    public ListString(int deptId, List<String> empNames) {
        this.deptId = deptId;
        this.empNames = empNames;
    }
    // getter
    ....
    // setter
    ....
}

mapper:

    <resultMap id="deptWithEmpNameMap" type="com.example.mybatis.entity.ListString">
        <result property="deptId" jdbcType="BIGINT" column="dept_id"/>
        <collection property="empNames" ofType="String" >
            <id  column="emp_name"/>
        </collection>
    </resultMap>
    <select id="listStringTest" parameterType="Integer" resultMap="deptWithEmpNameMap">
        SELECT  deptId as 'dept_id',name as 'emp_name'
        FROM employee WHERE deptId = #{deptId};
    </select>

dao:

@Mapper
public interface EmployeeMapper {
    /**
     * 统计部门下的员工名称(只查询出员工名称)
     */
    ListString listStringTest(Integer deptId);
}

表中数据:
在这里插入图片描述

测试:

 /**
    * 统计部门下的员工名称(只查询出员工名称)
    */
    @Test
    public void deptWithEmpNameTest(){
        ListString listString = employeeMapper.listStringTest(1);
        System.out.println(listString);
    }

输出结果:

ListString{deptId=1, empNames=[小红1, 小红2, 小红3, 小红4, 小红5, 小红6, 小红7, 小红8, 小红9, 小红10]}
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐