虚拟字段的使用

类上包含某个其他对象作为字段

@Data
@ToString
@EqualsAndHashCode(callSuper = false)
public class SysRoleOrg extends BaseEntity {
@Field(name = "角色ID", colCode = "ROLE_ID")
private String roleId;
@Field(name = "单位ID", colCode = "ORG_ID")
private String orgId;
//单位对象
private SysOrg sysOrg;
}

利用序列化,在前段页面该对象的属性

Json 反序列化会让它在前端包含一个sysOrg对象的属性

mybatis 连表注入到该对象上去

<resultMap id="SysRoleOrg" type="com.kimde.framework.app.system.service.user.domain.SysRoleOrg">
<id property="id" column="ID" jdbcType="VARCHAR" />
<result property="orgId" column="ORG_ID" jdbcType="VARCHAR" />
<result property="roleId" column="ROLE_ID" jdbcType="VARCHAR" />
<!-- 虚拟字段 -->
</resultMap>
<resultMap id="SysRoleOrgExt" extends="SysRoleOrg" type="com.kimde.framework.app.system.service.user.domain.SysRoleOrg">
<association property="sysOrg" javaType="com.kimde.framework.app.system.service.user.domain.SysOrg">
<result property="id" column="sysOrg_ID" />
<result property="orgName" column="sysOrg_ORG_NAME" jdbcType="VARCHAR" />
<result property="orgAllname" column="sysOrg_ORG_ALLNAME" jdbcType="VARCHAR" />
</association>
</resultMap>
<select id="getAllWithParent" resultMap="SysRoleOrgExt">
select * from(
SELECT
t1.*,
t2.ID as sysOrg_ID, t2.ORG_NAME as sysOrg_ORG_NAME, t2.ORG_ALLNAME as sysOrg_ORG_ALLNAME
FROM SYS_ROLE_ORG t1
left join SYS_ORG t2 on t2.ID = t1.ORG_ID
) t
<include refid="dynamicWhere" />
<if test="@ObjUtil@isNotEmpty(orderStrs)">
order by ${orderStrs}
</if>
<if test="@ObjUtil@isEmpty(orderStrs)">
order by CREATE_DATE desc
</if>
</select>
posted @   牵我狗  阅读(462)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示