后端-mybatis的一对一查询

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

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

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

在菜单表中写上分类表的封装形式

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

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

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

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

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

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

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

相关推荐
天“码”行空20 小时前
java的设计模式-----------单例类
java·开发语言·设计模式
0***m82220 小时前
Java性能优化实战技术文章大纲性能优化的基本原则
java·开发语言·性能优化
浮生若梦l20 小时前
docker部署springboot项目记录
spring boot·docker·容器
芒克芒克20 小时前
JVM性能监控
java·jvm
行稳方能走远20 小时前
Android java 学习笔记3
android·java
WF_YL20 小时前
IntelliJ IDEA 关闭保存时在文件末尾换行 -(取消保存自动末尾换行)
java·ide·intellij-idea
撩得Android一次心动20 小时前
Android Lifecycle 全面解析:掌握生命周期管理的艺术(1)
android·java·kotlin·lifecycle
一路向北⁢20 小时前
社交平台私信发送、已读状态同步与历史消息缓存系统设计文档(SpringBoot + RabbitMQ + Redis + MySQL)
spring boot·rabbitmq·java-rabbitmq·异步消息
lang2015092820 小时前
Java高性能缓存库Caffeine全解析
java·缓存·linq