智者不为愚者谋,勇者不为怯者死。这篇文章主要讲述Mapper.xml中对象的关联相关的知识,希望能为你提供帮助。
对象的关联,特别是manytoone的关联,有两种方式:发送一条额外sql去查询和内联的方式
发送一条额外sql:当我在使用到这个关联对象的时候,我发送一条额外的sql去把这个关联的对象查询出来,然后设置到对象里面,这样容易造成n+1的问题
内联方式:在这条sql直接把关联的对象的表连接进来,把需要查询的信息全部查出来,然后直接在resultMap中拼装出关联的对象,这样就可以避免n+1的问题,但是会造成连接的性能损耗
选用原则 :
如果关联的对象要在列表中显示,那么直接使用内联的方式,会造成表关联的性能损耗
如果要在查看这个对象时才显示,则选择使用发送一条额外的sql进行查询的方式,但是会造成n+1的问题
文章图片
选用哪种方式?
选用发送一条额外sql
因为在列表中不用显示借款人的信息,而是当我们要去查看这个借款人的信息时,当我们要去查看他的借款明细的时候,才会去点开看他的信息,这个属性要查看某个对象时,才会显示。
mapper.xml中关联的写法
文章图片
文章图片
使用发送额外的sql查询,则下面这条sql语句不用变
乐观锁的问题
文章图片
文章图片
n+1问题,网上查了下资源
文章图片
【Mapper.xml中对象的关联】
推荐阅读
- B.欢迎来怼——博客园安卓app(测评人(阚博文))
- 安卓常见英文缩写的全拼
- SpringMVC系列: 注解@RequestMapping@PathVariable
- Android Studio 3.0 |Kotlin 测试
- Linux/Android——usb触摸屏驱动 - usbtouchscreen
- Cutting-Edge.Applied.Technologies.ProtoWizard.v3.0.0.11 1CD(珠宝加工设计软件)
- android中倒计时控件CountDownTimer分析
- android 横竖屏切换不重走生命周期
- Macac App Inspetor经过的坑