Mybatis 关系关联映射和动态sql

Mybatis是一个ORM(Object Relation Mapping)框架,常用来处理数据访问层的中间件。

特殊符号
在这里插入图片描述
mybatis分页
支持两种方法分页
1 语句直接分页,比如说mysql采用limit分页,oracle采用rownum分页
比如oracle写法:
在这里插入图片描述
2 通过java方法分页:
Mapper映射文件查询是查询全部的数据
在这里插入图片描述
代码在对数据进行分页
在这里插入图片描述

实体类属性和表属性不一致的情况
采用自定义适配器方式装配数据
1 编写自定义适配器

在这里插入图片描述

2 在需要使用的语句对象节点中,采用resultMap=“自定义适配器的id名称”
在这里插入图片描述
关系关联映射配置
多对一
两种配置方式
A如果sql语句只是查询一张表的语句
在这里插入图片描述

配置对应的适配器

在这里插入图片描述

对应DeptDaoMapper.xml映射文件的方法:

在这里插入图片描述

B 如果sql语句是由几张表合并起来的查询

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

一对多
在一的那方的实体类中,添加List类型的变量
在这里插入图片描述

配置文件:
在这里插入图片描述

从表中的方法配置:

在这里插入图片描述

Mybatis动态sql
使用场景:
成绩表
查询
语文:100_ 数学:100_ 英文:118__理综_150__
可能存在输入一个或者输入多个或者没有输入的各种情况,那么针对用户可能存在这些行为,那么我们就必须采用动态SQL来实现对应的效果。
标签
在这里插入图片描述

标签

在这里插入图片描述

标签:
满足条件,进入if标签,条件如果调用的是入参的参数,可以不写#{}, 但是还要注意的通常情况下,test的条件中的变量都是来源定义类vo的属性。
标签:
用来编写where条件,通常跟if进行搭配。比如说在动态多条件查询的语句中,where和if就需要搭配在一起。Where标签会自动去除第一个and或者or标签。
动态标签补充
sql片段,用于将一些常用标签或者标签等动态标签封装在一个sql片段,给其他的查询语句使用。通常该标签内不能出现标签
在这里插入图片描述

标签 常用于将sql片段导入到指定的位置,如果需要导入多个sql片段,那么就必须写多次的,如果导入的sql片段与当前的映射文件不属于同一个namespace,那么在导入的时候的名称前要加入对应sql片段所在的namespace。
标签
Select * from t_user where user_id in (…)
…表示多个值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值