前言
工作有三年之久,每次都想沉淀一些东西,因为拖延症严重,每每就放弃了。这次给自己定下目标,先将这一系列文章写完,后续还会有自己手动撸一个Mybatis框架来证实自己的源码阅读效果。
Mybatis 是什么?
Mybatis 官网原文
MyBatis is a first class persistence framework with support for custom SQL, stored procedures and advanced mappings。
翻译过来就是Mybatis是一个类持久化框架,可以支持自定义SQL,存储过程和高级映射等功能。
其实就像大家用到的一样,写一个interface,然后映射到mapper文件,然后就可以查询数据库了,这写都是Mybatis框架替我们做的。
Mybatis 架构
mybatis的架构图(图片来源于网上):
架构还是特别清晰的,主要包含三个层次。
接口层:用来定义crud接口供框架使用
核心层:框架的主要处理逻辑,分为4部分
解析配置文件 -> 参数处理 -> 执行sql -> 结果映射
基础层:包含一些通用组件,日志,缓存,数据源等等
Mybatis Helloword
我们先来看看Mybatis最简单的使用:
String resource = "org/mybatis/example/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory =
new SqlSessionFactoryBuilder().build(inputStream);
try (SqlSession session = sqlSessionFactory.openSession()) {
Blog blog = session.selectOne(
"org.mybatis.example.BlogMapper.selectBlog", 101);
}
使用起来只需要3步。
- 编写mybatis配置文件
mybatis-config.xml - 获取
SqlSession - 获取对应
MapperInterface进行查询
后面系列文章就会详细讲讲
- mybatis是如何读取配置文件
- 如何构造sqlSession
- 如何获取MapperInterface
- 如何查询Sql
- 如何设置参数
- 如何返回结果的
- ...
这些问题伴随着我们的开发过程,会十分有用,希望小伙伴们能跟着文章一起深入研究下去。
总结
- mybatis是一个持久化框架
- mybatis的架构预览,mybatis总体包含三层,接口层,核心层,基础层
- mybatis helloword预览,明白在实际code过程中是如何使用的,以及带出可能会有疑问的问题,一起深入这个系列的文章
相信看完终究会有些收获,我是程序员阿松,生命不息,代码不止。