后端-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的值的话要带上实体类.字段。

相关推荐
终将老去的穷苦程序员10 分钟前
基于SpringBoot的餐饮管理系统
java·spring boot·后端
心之伊始11 分钟前
Spring AI Tool Calling 实战:让 Java Agent 调用本地 Bean 工具方法
java·spring boot·agent·spring ai·tool calling
AI人工智能+电脑小能手16 分钟前
【大白话说Java面试题 第110题】【并发篇】第10题:CAS 存在哪些问题?
java·开发语言·面试
瀚高PG实验室35 分钟前
java中间件无法连接数据库
java·数据库·中间件·瀚高数据库
东南门吹雪38 分钟前
JAVA TCP socket编程框架
java·高并发·socket·tcp·nio
xingyuzhisuan39 分钟前
缓存命中率提升方案:从 30% 优化至 82% 全流程优化记录
java·开发语言·缓存·ai
一条泥憨鱼1 小时前
Java开发效率神器:Lombok从入门到精通!
java·后端·学习·开发·lombok
Jinkxs1 小时前
Python基础 - 初识内置函数 Python自带的便捷工具
android·java·python
熠熠仔1 小时前
Spring Boot 与 MyBatis-Plus 空间几何数据集成指南
spring boot·后端·mybatis
奥利奥夹心脆芙1 小时前
零基础调试 Java 代码:Gemini 报错排查完整实操指南
java