Mybatis学习笔记——第三天

Mybatis学习笔记—第三天

Mybatis笔记 第三天

一.一对一关联关系数据的处理:student 和 computer

1. 在db里如何通过表的形式来存储数据和体现关系

在这里插入图片描述

2. Java类里体现一对一关系

在这里插入图片描述

3. 写dao (两个dao)

4. 给实现 ( 映射文件实现 )

  1. 没有关系属性的类对应的dao( ComputerDao ) — 单表操作
  2. 有关系属性的dao ( StudentDao ) — 增删改与单表一致, 查询特殊
    在这里插入图片描述

二.多对多关系 student ~ course

1. 在db里建表 ( 存储数据本身 , 描述关系 )

在这里插入图片描述

2. 在java里通过实体类描述数据和关系

 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200109193925326.png)

3. 定义dao接口?

  1. 如果直接描述多对多关系会导致 ”数据库里表的个数”与“实体类的个数”不对等 ,
    一般情况下, 开发时只需要程序员提供”查询”业务 , 此时定义两个dao(针对两个
    实体类定义)即可
    ①没有关系属性的dao — 单表查询操作
    ②有关系属性的dao — 表连接查询操作(多表连接查询 — 3张)

在这里插入图片描述

2) 如果业务里需要”增删改”功能 , 建议在业务需求分析时,直接将多对多拆分成两个
一对多( 通过添加一组中间的业务数据完成 )

在这里插入图片描述

三.动态sql — 依靠标签在映射文件中动态拼接sql命令

1. <if test=”boolean值”> ... </if> 条件判断标签

在这里插入图片描述

2. <where> : 代替where命令 , 标签可以动态的根据情况去掉命令后的多余的and或者or

在这里插入图片描述

  1. 使用where标签
    在这里插入图片描述
  2. 使用trim标签
    在这里插入图片描述

3. <set> 标签 — 用在修改上

作用: 在修改时,去掉命令中多余的”,”
在这里插入图片描述
1)使用set标签
在这里插入图片描述
2) 使用标签
在这里插入图片描述

4. 关于<foreach>标签

  1. 案例 : 批量删除
    在这里插入图片描述
    2) 解决
    在这里插入图片描述

5. 总结 : 针对每个命令的特殊处理方法

  1. insert ( 如果插入null值) : #{ xxx , jdbcType=XXXX }
  2. update ( 如果更新时有null值 ) : 和
  3. delete ( 批量删除 ) : where xxx in(…)
  4. select ( 筛选条件为null的情况 ) : 和

四.Mybatis缓存

1. 什么是缓存? 好处

在这里插入图片描述

2. Mybatis里缓存的分类 — 提供缓存机制

1)一级缓存 : SqlSession级别的缓存( 默认提供 ) , sqlSession对象有一块缓存区域 ,
只要当前session执行过的sql命令结果会被缓存在自己的空间里, 不同
的session互不影响
2) 二级缓存 : mapper级别的缓存( 全局缓存 ) , mybatis为每一个namespace提供了一
块缓存区 , 不同session执行了同一个namespace里的查询命令, 结果都
会被缓存在”二级缓存里”

在这里插入图片描述

3. 二级缓存使用步骤

1)开启mybatis的二级缓存
在这里插入图片描述
2) 在当前的mapper文件里设置
在这里插入图片描述

4. 二级缓存的特点

 1) 当session关闭时, session执行的查询结果会进入二级缓存
 2) 当session调用了接口的增删改方法 并提交 , 则二级缓存会被清空
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSDN海神之光上传的全部代码均可运行,亲测可用,尽我所能,为你服务; 1、代码压缩包内容 主函数:main.m; Fig:GUI操作界面; 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,可私信博主; 3、运行操作步骤 步骤一:将所有文件放到 Matlab的当前文件夹中; 步骤二:双击打开main.m文件;(若有其他m文件,无需运行) 步骤三:点击运行,等程序运行完得到结果; 4、语音处理系列仿真咨询 如需其他服务,可私信博主或扫描博主博客文章底部QQ名片; 4.1 CSDN博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作 语音处理系列程序定制或科研合作方向:语音隐藏、语音压缩、语音识别、语音去噪、语音评价、语音加密、语音合成、语音分析、语音分离、语音处理、语音编码、音乐检索、特征提取、声源定位、情感识别、语音采集播放变速等; CSDN海神之光上传的全部代码均可运行,亲测可用,尽我所能,为你服务; 1、代码压缩包内容 主函数:svddwt.m; 调用函数:其他m文件; 语音信号,其格式为MP4; 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,可私信博主; 3、运行操作步骤 步骤一:将所有文件放到 Matlab的当前文件夹中; 步骤二:双击打开svddwt.m文件;(若有其他m文件,无需运行) 步骤三:点击运行,等程序运行完得到结果; 4、智能优化算法背包问题系列仿真咨询 如需其他服务,可私信博主或扫描博主博客文章底部QQ名片; 4.1 CSDN博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作 语音处理系列程序定制或科研合作方向:语音隐藏、语音压缩、语音识别、语音去噪、语音评价、语音加密、语音合成、语音分析、语音分离、语音处理、语音编码、音乐检索、特征提取、声源定位、情感识别、语音采集播放变速等;

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值