mybatis 使用 一级缓存二级缓存描述

mybatis 是非常简单的
MyBatis 支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Ordinary Java Objects,普通的 Java对象)映射成数据库中的记录。
每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。
用xml文件构建SqlSessionFactory实例是非常简单的事情。推荐在这个配置中使用类路径资源(classpath resource),但你可以使用任何Reader实例,包括用文件路径或file://开头的url创建的实例。MyBatis有一个实用类----Resources,它有很多方法,可以方便地从类路径及其它位置加载资源。

导入mybatis的jar包 和log4j日志包 jdbc数据库驱动包

在这里插入图片描述
创建数据表
在这里插入图片描述
编写表对应的pojo
在这里插入图片描述
编写mapper.xml
在这里插入图片描述
然后编写测mybatis配置文件
在这里插入图片描述
添加配置log4j 配置文件
在这里插入图片描述
在这里插入图片描述
内容如下
log4j.rootLogger=DEBUG, stdout
log4j.logger.com.thundersoft.mybatis.model=TRACE //\u6309\u7167\u5305\u6765\u6253log
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

然后编写测试类

在这里插入图片描述
获取 sqlsessionfactorybuilder 他类似一个工厂
然后获取一个数据库连接
在这里插入图片描述
执行
在这里插入图片描述
成功查询

下面编写mapper接口 注意要和mapper在同一个包下

在这里插入图片描述
对应的mapper方法

如果mapper没有添加对应的方法 也可以通过注解添加sql语句
@select
@delete
@update
@insert

编写接口过后就不用通过 mapper文件映射地址 增删改查了

在这里插入图片描述
通过 getmapper 动态加载接口
结果和刚刚一样
在这里插入图片描述
一级缓存是在 commit之前 二级缓存是在指定mapper 所有方法 二级缓存是要序列化到本地的
在这里插入图片描述
我们查看日志 只执行了一次查询

在这里插入图片描述
在commit之后
在这里插入图片描述
执行了两次 说明commit里面是要被缓存的

在这里插入图片描述

在这里插入图片描述

二级缓存是在整个mapper中全部方法 也就是sqlsession级别的 正常的开发模式我们都使用二级缓存 二级缓存和延迟加载开关都在 mybatis核心配置文件上面;

延迟加载就是你做对象映射的时候需要用到的对象才加载不需要的他不加载 是一个平面级别的;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值