mybatis阶段总结

最近几天学习了mybatis框架
myBatis是一个orm映射框架 是一个访问数据库的一个持久层框架
在学习的过程中遇到了很多问题 由于上课没怎么集中注意力听 导致下课花费了很多时间去理解 和弄懂 不得不说上课认真听讲还是有必要的 mybatis的前两节课感觉还可以 就是后面讲集合映射的时候弄的头都昏了 将关联查询和嵌套查询弄反了 导致写练习的时候出了很多错误 找了好久才知道是我理解错了 但是还好 这两天感觉都弄懂了些 有错误反而使我更加深刻的了解mybatis的内部机制了

问题总结:

  1. 一对一, 一对多,多对多关联映射
    连接查询:直接书写表连接的SQL语句
    关联查询:通过association和collection标签中的select属性调用其它映射文件中的命令
    因为采用关联查询会带来N+1的问题

什么是N+1的问题?
当进行关联查询时,默认会将当前对象以及它的关联对象一并查出,会执行N+1条SQL语句,但是一些情况下,我们并不需要查询关联的对象,也会生成N条查询语句,这样就降低了数据库的性能。

如何解决N+1的问题?
连接查询,只会生成一条查询语句
延迟检索,默认不会将关联对象查出,只有在需要时才能查询关联对象

2.mybatis的检索策略
延迟加载(延迟检索,懒加载,lazy)
在查询当前对象时,默认不会将该对象关联的对象一并查出,当访问该关联对象时,才会查询,这种策略称为延迟检索。

立即加载(即时检索,eager)
在查询当前对象时,默认将该对象关联的所有对象查出。
如何配置?

  1. 在mybatis-config.xml全局配置文件中,
  1. 在用到延迟加载的association和collection标签中,


    在以后的学习中 要更加努力 不能贪玩 加强学习力 加油吧 !
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值