MyBatis

1.动态Sql-拼接where条件

需求:如果用户的查询条件会实时变化,则选用动态where条件查询

规则:要求对象中不为null的属性 充当where条件

2.动态Sql拼接set条件

需求说明:如果修改数据时,影虎传递的参数为null时,则应该采用动态sql的格式

规则:如果set标签中有多余的逗号,

3.动态Sql-万能标签  trim

需求:如果动态sql中需要去除其他的关键字,

4.分支结构用法

choose-when-otherwise

sql中采用分支结构语法,如果有一个条件成立,则另外的条件无效了

5.ResultMap介绍(重点)  多表查询时

万能的映射规则

手动添加映射关系

6.驼峰映射规则

mapUnderscoreToCamelCase是否开启驼峰命名自动映射,即从经典数据库列名 A_COLUMN 映射到经典 Java 属性名 aColumn。true | false

7.注解模式

8.多表查询

 一对一封装

association    javaType

一对多封装

collection     ofType

内连接  一般查询交集  隐式和显式连接方式

外连接   得到所有的数据   left join  和right join

子查询

懒加载机制

只有子查询才可以懒加载 

使用场景:     适合海量数据查询时只查询其中的个别数据时使用

MyBatis缓存机制

一级缓存

  同一个SqlSession 获取的Mapper接口执行多次查询,sql只查询一次

MyBatis默认开启一级缓存  ,但是多线程请求就是有几条线程就执行几次

二级缓存

不同的用户执行了多次,缓存有效果,sql只执行一次

多个用户查询同一个业务逻辑可以实现共享数据

默认关闭

启用二级缓存

在映射文件中添加二级缓存标签

<cache></cache>

正确关闭查询:  sqlSession.close

二级缓存注解写法  (一般不用)

@CacheNamespace  写在接口上

@Select 在方法上

当前接口开启二级缓存+配合注解的查询

@acheNamespace和<cache>只能二选一

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值