最近看LG的课程,正好有手写mybatis框架的课程,我就拿来学习了下,发现收获颇多,于是我就对自己手写的过程进行一次全面的复盘,也是想分享给各位小白和大神,多多指点。因为自己写博客很少,所以可能写的有点乱,请观看这篇文章的小伙伴多多谅解,并一方面,请在熟练使用mybatis前提下,再看这篇文章,因为毕竟是底层源码了。
前置知识
1. 如何不使用框架,会有哪些问题?
-
数据源的信息存在硬编码的问题,一旦想去修改数据源信息,必须在去修改代码。这带来了很多麻烦。特别是多数据源,或者在测试环境一套数据库,生产一套数据库,开发一套数据库。
-
频繁创建数据库连接,导致性能降低,资源的浪费。
-
sql语句不好维护。
经历过JDBC,hibernate的大佬,应该明白当年的项目,维护的成本有多高。
具体实现的思路
- 使用端提供核心配置文件
sqlMapConfig.xml: 存放数据源信息,引入Mapper.xml
Mapper.xml: sql语句的配置信息 - 客户端
一,读取配置文件,并解析。
二,配置文件,放入configuration的对象中
三,创建sqlSessionFactory
创建一个sqlSession实例
四,用sqlSession执行相应的方法,并封装结果集