53MyBatis学习

本文详细介绍了MyBatis中增删改查操作的映射文件配置,包括如何处理多个参数、命名参数及使用POJO和Map进行参数封装。同时,讲解了如何通过resultMap进行复杂查询,包括关联查询、级联属性、延迟加载和使用collection与discriminator。通过对Oracle序列的使用,展示了主键生成策略。最后,讨论了参数值在SQL中的取值规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、映射文件

在这里插入图片描述

增删改

在接口中创建增删改查功能。
在这里插入图片描述
在sql映射文件中,添加定义:
在这里插入图片描述
在这里插入图片描述
在实体类中添加无参和带参构造器:
在这里插入图片描述

测试:
在这里插入图片描述

在这里插入图片描述

insert–获取自增主键的值

在这里插入图片描述

insert–Oracle使用序列生成主键演示

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

参数处理

接口中添加按id和lastName两个参数查找员工的方法,此时的参数处理有问题。
sql映射文件:
在这里插入图片描述

多个参数

在这里插入图片描述
在这里插入图片描述

命名参数

在这里插入图片描述

接口中方法的参数添加注释:
在这里插入图片描述
测试:
在这里插入图片描述

pojo

在这里插入图片描述

Map

在这里插入图片描述

sql映射文件:
在这里插入图片描述

测试:
在这里插入图片描述

TO

在这里插入图片描述

参数封装扩展思考

在这里插入图片描述

参数封装为map的过程

在这里插入图片描述

参数值的获取#、$

sql请求映射文件:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

#指定参数的规则

在这里插入图片描述
两种办法:
在这里插入图片描述
或者
在这里插入图片描述

二、select

在这里插入图片描述

返回list

在这里插入图片描述
测试:
在这里插入图片描述

返回map

单条记录

在这里插入图片描述

测试:
在这里插入图片描述

多条记录

在这里插入图片描述

接口:
在这里插入图片描述
测试:
在这里插入图片描述

select的其他属性

在这里插入图片描述

resultMap属性

自定义命名规则。
在这里插入图片描述
在这里插入图片描述
测试:
在这里插入图片描述

关联查询

在这里插入图片描述
创建department类,属性id。作为employee的外键。
在这里插入图片描述
在这里插入图片描述

数据库表:
在这里插入图片描述

级联属性封装结果集

在这里插入图片描述
在这里插入图片描述

测试:
在这里插入图片描述

使用association定义关联的单个对象的封装规则

在这里插入图片描述
返回值结果集修改为:
在这里插入图片描述

测试:
在这里插入图片描述

使用association进行分布查询

创建部门的sql映射文件,添加按id查询部门的方法:
在这里插入图片描述
在employee的sql映射文件中:

在这里插入图片描述

在这里插入图片描述

测试:
在这里插入图片描述

延迟加载

在这里插入图片描述

在全局配置文件中添加:

在这里插入图片描述

使用collection定义关联的集合类型的属性的封装规则

在这里插入图片描述

department类中有多个员工:

sql映射文件中:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

测试:
在这里插入图片描述

使用collection分布查询

在employee的sql映射文件中,添加按部门id获取员工的查询:

在这里插入图片描述
在department的sql映射文件中:
在这里插入图片描述

测试:

在这里插入图片描述

discriminator鉴别器

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
测试:
在这里插入图片描述

结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值