mybatis-mp 高级功能 @Fetch 实现 1对 1,1 对多
ORM中的一对一,一对多
JPA 中 一对一,一对多 都是在实体类中配置的 ,这就导致很尴尬,很多时候 我们并不需要,只能设置懒延迟了,有时候 我们又想它不要懒延迟,不然后 每次都要手动去调一下,然后JSON 或者 模板里就会报错;灵活性不高;当然可能我没理解透彻!!!
mybatis-mp是如何做的,如何设计一对一,一对多的?
mybatis-mp的设计更为简单,实体类就是表的信息,不包含 一对一,一对多关系;一对一,一对多的关系表现在你的查询结果上(作者的理解是你的查询是多样性的)
第1步 创建VO类
@Data @ResultEntity(SysUser.class) public class FetchSysUserVo { private Integer id; private String userName; private String password; @Fetch(source = SysUser.class, property = "roleId", target = SysRole.class, targetProperty = "id") private SysRoleVo sysRole; private LocalDateTime create_time; }
SysRoleVo sysRole 也可以是直接是实体类SysRole
第2步 查询
QueryChain.of(sysUserMapper) .select(FetchSysUserVo.class) .from(SysUser.class) .eq(SysUser::getId, 2) .returnType(FetchSysUserVo.class) .list();
select(FetchSysUserVo.class) 自动帮你select 所需要的列
returnType(FetchSysUserVo.class) 设置你结果的返回类
@Fetch 执行说明
第1个SQL select from sys_user where xx
第2个SQL select from sys_role where id in (...)

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
《灯灯》多租户快速开发平台 4.19.1-jdk8 版本发布,新版前端 UI 正式发布
jdk17、jdk8 分支同步发布以下内容: refactor (application.yml): 优化 boot 版本配置文件,将 application.yml 按照功能进行拆分 refactor (lamp-system-biz): 修改基本信息时,也可修改头像 refactor (lamp-oauth-biz): 优化登录逻辑,更加详细的记录登录异常日志 refactor (lamp-base-biz): 消息模版发送时,字段名称统一 refactor (lamp-common): spy 打印的日志改成 log.info 方式打印,防止某些用户误以为是报错 fix (lamp-base-biz): 自动排除已经导入过的消息模板 fix (lamp-base-biz): 删除文件成功返回 true fix (lamp-system-biz): 调整代码顺序,解决接口属性的其他属性修改为同名的 key 时报错 fix (lamp-system-biz): 编辑资源元数据时,若 json 解析失败,返回空字符串 体验网址 vben版 soybean版 数据源模式 点我体验 点我...
- 下一篇
Spring Tools 4.23.1 发布,Spring 开发工具
Spring Tools 4 是由 Spring 团队打造的 Spring 开发工具,从零开始构建,融合了现代技术和开发者工具架构。它在单独的进程中运行,从构建之初就考虑到了性能问题,并且支持最新的 Spring 技术,为开发基于 Spring 的企业应用提供世界级支持。同时,全新版本的 Spring Tools 与 IDE 无关,可在各种编码环境中使用,支持 Eclipse、Visual Studio Code 与 Theia。 Spring Tools 4.23.1 现已发布,主要变化包括: 重要修复 (Spring Boot)能够开关查询语法验证以及查询语法问题的严重性#1275 (Spring Boot)v1.55 版本中无法查看多个模块的 bean#1271 (Spring Boot)仪表板中实时 bean 的 bean 类导航损坏#1269 (Spring Boot)导航到有线 bean 的类已损坏#1268 (Spring Boot)在 VSCode 中打开 Spring Boot 项目导致 StackOverflowError#1166 Spring Tools4.24...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Red5直播服务器,属于Java语言的直播服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7