当前位置: 首页 > article >正文

后端-mybatis的一对一查询

准备两张表菜单表和分类表,一个菜单对应一个分类,一个分类对应多个菜单,我们从菜单对分类来操作一对一的关系,首先在菜单表里面要有一个分类表的id字段。33085305393946068c42eb3d89b451fe.png

使用mapper的映射文件.xml来写的话我们在resource目录下创建各自mapper的.xml文件

4f15c544a9e64a939bedf51812a1bbfa.png 

.xml文件路径的话和mapper的路径要一致,并且使用/,不能是.740509057a934bfd93c6b365ead6cde8.png

2c7bd661dc0e4735a2ea67747236381a.png 

853ac5ec8b1945e481b44bbba10b9436.png 

在菜单表中写上分类表的封装形式 7c3d7449937c4f45a1c5132d8b58bf9e.png

在菜单表的mapper接口中写查询方法

d6bb65bcf7c54ae686f7e2452cca12cf.png 

在mapper的配置文件中写映射和菜单表的封装

resulttype只能封装菜单表的内容,分类表的信息封装不上,所以我们手动封装使用resultmap。

写一个resultmap标签 id是下面resultmap的值,type是菜单表的entity路径或者是表名就行。

里面内容的话dish表的所有字段可省略也可写上,因为本来菜单表就可以赋上值,这个操作就是因为分类表赋不上值 的操作。

菜单表的话:column的值是sql重命名之后的值,没有重命名就是数据库中的值(带下划线),porperty的值是实体类的驼峰命名。分类表的porperty的值见下下图

1bbd8e7ffc524824a2305162e1d7dfb0.png

 分类表的值是sql重命名之后的值,没有重命名的话就是数据库带下划线的值,porperty的值的话要带上实体类.字段。

b605f452808a4f51ae521cfe3197531b.png

 35b83f72d3474daca24d99fc574e2736.png

 


http://www.kler.cn/a/417041.html

相关文章:

  • Unity-Mirror网络框架-从入门到精通之LagCompensation示例
  • 数据源和 sqlSessionFactory 配置
  • 基于SpringBoot的校园社交平台
  • 前端 CSS 动态设置样式::class、:style 等技巧详解
  • 数据库高安全—审计追踪:传统审计统一审计
  • redis高级数据结构Stream
  • 准确--在 AlmaLinux 9.2 上快速搭建 FTP 服务器
  • AI潮汐日报1128期:马斯克计划推出Grok挑战GPT宝座、实时数字孪生心脏模拟、大模型竟也会产生焦虑和偏见
  • SpringBoot 架构的新冠密接者跟踪系统:安全防护体系深度解读
  • 学习ASP.NET Core的身份认证(基于Session的身份认证3)
  • Next.js 中 API 路由与 Actions 的使用选择与比较
  • linux centos nginx编译安装
  • 【人工智能-科普】深度森林:传统机器学习与深度学习的创新结合
  • 云原生自动化测试之命令行工具自动化测试设计思路分享
  • 【开源免费】基于Vue和SpringBoot的新闻推荐系统(附论文)
  • 深度学习:GPT-2的MindSpore实践
  • 【干货分享】Boosting算法简单案例
  • 中国如何应对非传统网络安全风险?
  • html无序列表怎么去掉小黑点
  • Ps:存储 Adobe PDF - 压缩
  • Local Changes不展示,DevEco Studio的git窗口中没有Local Changes
  • Vue.js 中的事件处理
  • 【Go底层】通道原理
  • 玄机应急:Apache日志分析Mysql应急Redis应急
  • Stream API进行分组并收集某个属性到List
  • .net XSSFWorkbook 读取/写入 指定单元格的内容