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

SpringBoot工程中的MyBatis框架的原理分析以及日志API应用分析_第1张图片


SqlSessionTemplate通过代理对象找到数据源

最根上

executor这个对象就是关联着数据源对象,那么获取的事务是哪呢?
我们可以从MyBatis官网入门这边看到
SpringBoot工程中的MyBatis框架的原理分析以及日志API应用分析_第2张图片
mybatis-3-mapper.dtd这个是约束文件,用来约束文档内部有什么元素,元素与元素之间有什么嵌套关系,元素内部可以有什么属性


MyBatis为我们的Dao接口创建的实现类及其方法内部做了什么
1.获取SqlSeesion对象
2.获取sql映射的key信息(namespace,elementId)
3.基于statement获取sql映射信息(底层是存储了MappedStatement对象中)
4.基于SqlSession以及sql实现与数据库的会话
SpringBoot工程中的MyBatis框架的原理分析以及日志API应用分析_第3张图片
SpringBoot工程中的MyBatis框架的原理分析以及日志API应用分析_第4张图片


日志API应用分析

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


效果图:


做日志输出的时候,尽量不要用System.out.println()来进行日志的输出,我们可以借助日志对象
SpringBoot工程中的MyBatis框架的原理分析以及日志API应用分析_第6张图片
调用的getLogger方法,括号中的参数是写Logger类型的变量所在类的字节码对象。用于提示日志是来自于哪个类的。


使用方式:


效果图:


常用日志级别的高低排序:日志级别trace日志级别的目的是控制输出的日志量,从而提高性能


控制台缓冲区满了以后就会做一个清空操作,那么我们可以通过写到文件中的形式来保存日志。只需在SpringBoot工程的配置文件中做这样的配置即可:

等号的右边是存日志文件的目录,默认的文件名是spring.log;当我们的项目反复运行的时候,日志文件的内容是会继续追加的,并不会覆盖掉。


Logger,LoggerFactory用到了门面设计模式。这俩是实现类对外的门面

你可能感兴趣的:(SpringBoot工程中的MyBatis框架的原理分析以及日志API应用分析)