【SSM框架】Mybatis详解06 对象分析、注册别名、设置日志输出

简介: 【SSM框架】Mybatis详解06 对象分析、注册别名、设置日志输出

✨前言


和我一起复习下去你可以获得一个比较完美框架demo,并且深刻体会框架。
坚持到最后的源码解析你会收获更多哦,加油坚持!!!

上一篇文章我们从大的方面添加了五个功能,详情看上一篇哦!!!

那么今天就继续往下复习,今天会复习到

  • MyBatis对象分析
  • 为实体类注册别名
  • 设置日志输出

剖析得有不到位不全面的地方欢迎下伙伴们评论区不错改正。

对于我自己来说是一次系统的复习,我把博客当成复习笔记的同时也希望可以给感兴趣的小伙伴们一些动力和收获。


文章目录


Mybatis对象分析


1)Resources类


Resouces类就是解析SqlMapConfig.xml文件,创建出相应的对象

InputStream in = Resources.getResourceAsStream(“SqlMapConfig.xml”);

我们要想解析配置文件,首先就要拿到配置文件,在对其解析。

Resouces类就是资源类,通过他的getResouceStream()方法可以获取配置文件,并且可以很>方便的返回流对象。



2)SqlSessionFactory接口


使用ctrl+h快捷键查看本接口的子接口及实现类

DefaultSqlSessionFactory是实现类

SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);

我们通过本方法传入获取的配置的流,就可以通过工厂建造器创建对应的工厂了,

但是注意这个对象可是很占内存的,我们使用工厂建造出来SqlSession对象以后就要立马关闭哦,不然在高并发的场景下,你的服务器会冒烟滴!!!



3)SqlSession接口


DefaultSqlSession实现类

这个接口就是我们要使用的接口啦,当然他的实现类是DefaultSqlSession类。

这里使用了多态哦,接口指向实现类呢

那么这个对象就可以直接编译并且执行我们保存好的sql语句啦,也包括返回数据哦!!!



为实体类注册别名


不知大家有没有跟着我写一遍呢,写过的小伙伴会发现有个问题会很繁琐。直接上图


我们才做了几个功能,返回类型就写了那么多次一样的,是不是很繁琐呢??


那么我们就来简化它


单体注册


我们在SqlMapConfig.xml文件中添加


 <!--为实体类注册别名-->
    <typeAliases>
        <typeAlias type="com.longlong.pojo.Student" alias="Student"></typeAlias>
    </typeAliases>


批量注册

我们在SqlMapConfig.xml文件中添加



这里需要注意的是,我们使用包名批量注册后,默认的返回类型一定要遵守 驼峰命名法,不然会找不到哦!!!!
在工作中实体类很多,本方法比较常用哦


这样一来,我们再写返回的实体类型就只写注册完的简写哦。


设置日志输出



我们可以来看一看不加日志输出的时候

我们只能看到结果,并看不到执行的什么代码

那么我们来加上日志输出看一下效果吧!

一定要看好是在哪个文件里添加的哦,小伙伴们想一想,这个日志是全局控制,自然要添加在…xml文件是吧!!!没猜出来的小伙伴看截图哦!!!!


<!--设置日志输出底层执行的代码-->
    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>

我们来看一下效果哦



增加了许多吧,语句和结果是不是很清晰呢。

这样以后就可以直接看出自己的sql语句是不是有问题啦,在后面的动态sql更加清晰明了哦,跟着我往后学习哦!!


✨总结


今天我们介绍了Mybatis3大对象、注册别名、设置日志输出,使得开发变得过程更加清晰,简单。

下一节我们将会讲解把动态代理引入框架,并且优化mapper.xml文件注册。

和我一起复习下去你可以获得一个比较完美框架demo,并且深刻体会框架,坚持到最后的源码解析你会收获更多哦,加油坚持!!!

本次源码放在代码仓库gitee,自取链接


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
26天前
|
存储 分布式计算 监控
【Flume】Flume 监听日志文件案例分析
【4月更文挑战第4天】【Flume】Flume 监听日志文件案例分析
|
2月前
ssm(Spring+Spring mvc+mybatis)——updateDept.jsp
ssm(Spring+Spring mvc+mybatis)——updateDept.jsp
11 0
|
2月前
ssm(Spring+Spring mvc+mybatis)——showDept.jsp
ssm(Spring+Spring mvc+mybatis)——showDept.jsp
9 0
|
1天前
|
存储 监控 关系型数据库
PHP编写的电脑监控软件:用户登录日志记录与分析
使用PHP编写简单但功能强大的电脑监控软件,记录用户登录日志并进行分析。代码示例展示了如何获取并存储用户IP地址和登录时间到数据库,然后进行登录数据的分析,如计算登录频率和常见登录时间。此外,还介绍了如何通过定时任务自动将监控数据提交到网站,以便实时监控用户活动,提升系统安全性和稳定性。
11 0
|
2天前
|
分布式计算 DataWorks 关系型数据库
DataWorks操作报错合集之在DataWorks中设置了一个任务节点的调度时间,并将其发布到生产环境,但到了指定时间(例如17:30)却没有产生运行实例和相关日志如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
16 0
|
3天前
|
数据可视化
R语言两阶段最小⼆乘法2SLS回归、工具变量法分析股息收益、股权溢价和surfaces曲面图可视化
R语言两阶段最小⼆乘法2SLS回归、工具变量法分析股息收益、股权溢价和surfaces曲面图可视化
|
6天前
|
Java 关系型数据库 数据库连接
MyBatis 执行流程分析
MyBatis 执行流程分析
11 2
|
7天前
|
机器学习/深度学习 前端开发 数据挖掘
工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断(下)
工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断
77 11
|
13天前
工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断2
工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断
18 0
|
13天前
|
机器学习/深度学习 前端开发 数据挖掘
R语言计量经济学:工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断
R语言计量经济学:工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断
42 0