SpringBoot工程中的MyBatis框架的原理分析以及日志API应用分析

SpringBoot工程中的MyBatis框架的原理分析以及日志API应用分析
文章图片

SqlSessionTemplate通过代理对象找到数据源
SpringBoot工程中的MyBatis框架的原理分析以及日志API应用分析
文章图片

最根上
SpringBoot工程中的MyBatis框架的原理分析以及日志API应用分析
文章图片

executor这个对象就是关联着数据源对象,那么获取的事务是哪呢?
我们可以从MyBatis官网入门这边看到
SpringBoot工程中的MyBatis框架的原理分析以及日志API应用分析
文章图片

mybatis-3-mapper.dtd这个是约束文件,用来约束文档内部有什么元素,元素与元素之间有什么嵌套关系,元素内部可以有什么属性
MyBatis为我们的Dao接口创建的实现类及其方法内部做了什么
1.获取SqlSeesion对象
2.获取sql映射的key信息(namespace,elementId)
3.基于statement获取sql映射信息(底层是存储了MappedStatement对象中)
4.基于SqlSession以及sql实现与数据库的会话
SpringBoot工程中的MyBatis框架的原理分析以及日志API应用分析
文章图片

SpringBoot工程中的MyBatis框架的原理分析以及日志API应用分析
文章图片

日志API应用分析
当我们想看到sql的输出的时候,我们可以在SpringBoot工程的配置文件中配置这样一行:logging.level.XXXX(启动类所在的包名)=日志级别
SpringBoot工程中的MyBatis框架的原理分析以及日志API应用分析
文章图片

效果图:
SpringBoot工程中的MyBatis框架的原理分析以及日志API应用分析
文章图片

做日志输出的时候,尽量不要用System.out.println()来进行日志的输出,我们可以借助日志对象
SpringBoot工程中的MyBatis框架的原理分析以及日志API应用分析
文章图片

调用的getLogger方法,括号中的参数是写Logger类型的变量所在类的字节码对象。用于提示日志是来自于哪个类的。
使用方式:
SpringBoot工程中的MyBatis框架的原理分析以及日志API应用分析
文章图片

效果图:
SpringBoot工程中的MyBatis框架的原理分析以及日志API应用分析
文章图片

常用日志级别的高低排序:日志级别trace日志级别的目的是控制输出的日志量,从而提高性能
控制台缓冲区满了以后就会做一个清空操作,那么我们可以通过写到文件中的形式来保存日志。只需在SpringBoot工程的配置文件中做这样的配置即可:
SpringBoot工程中的MyBatis框架的原理分析以及日志API应用分析
文章图片

等号的右边是存日志文件的目录,默认的文件名是spring.log; 当我们的项目反复运行的时候,日志文件的内容是会继续追加的,并不会覆盖掉。
【SpringBoot工程中的MyBatis框架的原理分析以及日志API应用分析】Logger,LoggerFactory用到了门面设计模式。这俩是实现类对外的门面

    推荐阅读