实体对象
@Data
public class SysUser {
private Long id;
private String loginName;
private String userName;
private String email;
private List<Long> roles;
}
Mapper 映射文件
<resultMap id="SysUserMap" type="com.answer.ai.entity.dto.SysUser">
<!-- 必须写成 <id... /> 而不是 <result column="id" ... /> -->
<id property="id" column="id" jdbcType="BIGINT" />
<result column="login_name" property="loginName" jdbcType="VARCHAR"/>
<result column="user_name" property="userName" jdbcType="VARCHAR"/>
<result column="email" property="email" jdbcType="VARCHAR"/>
<collection property="roles" ofType="Long">
<constructor>
<arg column="role_id" />
</constructor>
</collection>
</resultMap>
<select id="queryUsers" resultMap="SysUserMap">
SELECT su.id, su.login_name, su.user_name, su.email, sur.role_id
FROM sys_user su
LEFT JOIN sys_user_role sur on sur.user_id = su.id
</select>
响应内容
{
"code": 10000,
"desc": "success",
"data": [
{
"id": 1,
"loginName": "admin",
"userName": "林**",
"email": "answer_ljm@163.com",
"roles": [
1
]
},
{
"id": 2,
"loginName": "answer",
"userName": "张**",
"email": "1072594307@qq.com",
"roles": [
2,
3
]
}
]
}