千家信息网

Mybatis ResultMap多表映射DTO怎么实现

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍"Mybatis ResultMap多表映射DTO怎么实现",在日常操作中,相信很多人在Mybatis ResultMap多表映射DTO怎么实现问题上存在疑惑,小编查阅了各式资料,整理
千家信息网最后更新 2025年02月01日Mybatis ResultMap多表映射DTO怎么实现

这篇文章主要介绍"Mybatis ResultMap多表映射DTO怎么实现",在日常操作中,相信很多人在Mybatis ResultMap多表映射DTO怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Mybatis ResultMap多表映射DTO怎么实现"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

步骤:
1:构建DT

package com.steak.system.pojo.dto;public class ApplyDTO {    private Integer applyId; //申请书的ID 属于申请表(sys_apply)    private String selfIntroduction; //自我介绍 属于申请表(sys_apply)    private String applyTime; //申请时间 属于申请表(sys_apply)    private String userName; //申请人,属于用户表(sys_user)    private String collegeName; //二级学院名称,属于二级学院表(sys_college)    private String recruitName; //招聘书标题 , 属于招聘表(sys_recruit)    private String status; //申请状态 属于申请表(sys_apply}

2:创建mybatis Mapper.xml

                                                                    

创建接口Mapper

List getApplyDTO(String userId);

实体之间的转换(少写代码)

如:我封装的DTO里面有一个字段int类型的字段status,一般在数据库里面我们用数字来表示,但是返回前台我们应该用一个别人能够理解的字段来表示(如待审核,已审核),由此我们需要定义一个VO(返回前端的模型,里面的字段要和DTO里面所要转换的的字段相同,注意,是需要转换的,我也可以在VO里面定义其他的,DTO转换的时候只转换VO里面和自己对应的),然后通过set方式将值转换到VO里面,数据字段少其实可以手动set,如果有50个字段,一个字段一个字段的去set(实际上我只需要转换一个status字段就OK,当然也可以交给前端来处理,但是有时候前端并不知道代表什么,所以我们尽量给前端解析好,别人就不用去猜测了),费力费时,代码还不优雅,所以推荐使用一些实体的转换工具,我使用的是Apache的BeanUtils,里面有转换的方法,如我将DTO转换为VO,如下便可

BeanUtils.copyProperties(VO,DTO);

这样的话我就将所有数据转到VO里面了,我们在VO里面的status字段设置为String,然后取DTO里面的status字段出来进行语义化成一个可理解的字段,为什么不取VO里面的,要取DTO呢,前面已经说了只能转换和自己对应的,因为DTO里面的status为int类型,而VO里面的status为String,所以转过来VO里面的status为null,所以需要取DTO里面的status,然后赋值给VO里面的status,如:1=待审核 2=已审核

到此,关于"Mybatis ResultMap多表映射DTO怎么实现"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

字段 前端 申请表 学习 数据 二级学院 代码 学院 实体 方法 更多 类型 帮助 招聘 实用 相同 优雅 接下来 这样的话 不用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 嵌入式产品软件开发流程 贵州it软件开发中心 张掖市网络安全知识竞赛 公共网络安全使用方法 深圳市伟创网络技术有限公司 项目计划书网络技术 软件开发技术包括哪几个方面 中式园林的数据库 win10怎么设置云服务器配置 网络安全大赛双人怎么打 怎么搭建智能网关服务器 ibm 数据库监控工具 order数据库中获取当前日期 目前的光传送网络技术有哪些 西门子服务器未准备好 质量管理体系认证软件开发 nt网络安全 网络安全宣传小报超清 电脑连接不上数据库 常用的法律法规数据库有哪些 保山哪里有互联网科技 诚信网络技术咨询哪家好 电梯公司管理软件开发 违反国家网络安全法的网贷名单 mysql数据库如何恢复 工控网络安全面临挑战 西门子服务器未准备好 戴尔服务器r730内存条价格 人工智能编程软件开发工程师 扫描到文件服务器什么意思
0