1.开发mybatis的步骤
2.缓存
作用:缓存是为了存放我们的数据,减低我们的资源消耗准备的,缓存可以存放我们的实体类没有的,并且必须需要的数据,比如验证码
1.一级缓存
一级缓存是和我们的生命周期有着绝对的关系
一级缓存主要用于存储最常用的指令和数据,在程序执行过程中,当CPU需要访问内存中的数据时,首先会检查一级缓存中是否存在所需数据。如果数据已经存在于一级缓存中,CPU可以直接从一级缓存中获取数据,避免了对较慢的主存(内存)的访问,极大地提高了系统性能。
简单的说就是可以保存我们的查询数据,把数据保存在缓存中,下一次执行就可以直接在缓存中获取,避免平凡的连接数据库,节约我们的系统资源
怎么使用一级缓存呢,其实一级缓存默认就是开启的我们就不需要手动修改了,但是缓存是有局限性的,就是说缓存是有条件的:
1.必须查询的条件相同
2.查询期间不能进行cud
3.必须是同一个对象的执行
SqlSessionFactory:作用于一次连接,必须使用使用同一个SqlSessionFactory对象
SqlSession:作用于一次查询,必须使用使用同一个SqlSession对象
2.二级缓存
1.在mybatis-config.xml添加配置
<settings>
<!-- 配置缓存 -->
<setting name="cacheEnabled" value="true"/>
</settings>
<cache eviction="FIFO" flushInterval="60000" size="512" readOnly="true" />
就可以在我们的查询中引用就可以了
3.SQL映射的XML文件中的具体标签
mapper – SQL映射文件的根元素,有一个namespace属性
cache – 配置给定命名空间的缓存
cache-ref – 从其他命名空间引用缓存配置
resultMap – 用来描述数据库结果集和对象的对应关系
sql – 可以重用的SQL块,也可以被其他语句引用
insert – 映射插入语句
update – 映射更新语句
delete – 映射删除语句
select – 映射查询语句
4.基于SQL映射文件的crud操作
1.基于SQL映射文件的删除操作
2.基于SQL映射文件的sql片段代码
3.基于SQL映射文件的查询操作
4.基于SQL映射文件的修改操作
5.基于SQL映射文件的新增操作
5.为SQL映射文件传递参数的方法
1.parameterType:标识传进来的参数类型,也就是入参
普通类型:也就是java基础数据类型和String和实体类,
导入时切忌需要导入觉对路径,比如:java.lang.Integer
map集合:使用集合的方式传递参数
使用注解@Param:使用 @Param("参数名称") 数据类型 数据名
2.resultType:通常用于查询语句,标识为返回类型,也就是出参
delete insert update 有默认返回受影响的行数,不予定义
普通类型:也就是java基础数据类型和String和实体类
导入时切忌需要导入觉对路径,比如:java.lang.Integer
map集合:使用集合的方式传递参数
6.使用resultMap映射查询结果
1.使用resultMap为出参的类型
2.使用association和collection的区别
相同点:association和collection都是用来做多表查询的
不同点:association和collection使用的映射关系不同
association:用于一对一的映射关系
使用于:做查询是需要多表并且放回的多表数据为一条时
collection:用于一对多的映射关系
使用于:做查询是需要多表并且放回的多表数据为多条时,返回集合类型
3.使用resultMap和resultType的区别
相同点:本质上都是map,返回参数
不同点:使用场景不同
resultMap:使用多表查询或者需要指定变量名称时使用
resultType:返回基础类型或map
4.如何具体的使用属性
5.如何使用映射自动映射
在mybatis-config.xml中导入映射 就可以自动映射我们数据库查询的参数
settings>
<!-- 自动自动映射-->
<setting name="autoMappingBehavior" value="FULL"/>
</settings>