Mybatis 框架初识(一)JDBC规范

98 阅读2分钟

「这是我参与2022首次更文挑战的第1天,活动详情查看:2022首次更文挑战」。

前言

经过上一年的更文挑战,帮我扫盲了一下底层基础,但还无法达到巩固的基础。本次我们开了新的题目,Mybatis框架,这个系列主要讲述Mybatis中的源码实现以及用到的设计模式。书本参考 《Mybatis 3源码深度解析》。

image.png

Mybatis初识

Mybatis是一个简单易用的ORM层框架,ORM即为对象映射层框架,根据JDBC规范进行开发,主要用于关系型数据库的。目前Mybatis使用最多的数据库为Mysql,当然你也可以用其他数据库,像是书本中使用的数据库为HSQLDB,一个基于内存实现的数据库。Mybatis的出现使得开发人员对数据库的操作进行了一个优化,简化数据库连接等繁琐步骤的操作。

JDBC规范

jdbc是java中的一套规范,在java包中有一套JDBC API接口实现了这套规范,并且由广大数据库厂商提JDBC驱动。

DriverManager

jdbc 1.0规范实现的产物,当程序使用url获得数据源的时候,会自己加载CLASSPATH下的所有JDBC驱动,然后加载完后应用程序便可通过它提供的getConnection方法来获取数据库连接。

DataSource

DataSource是jdbc2.0的产物,他是一个接口,对比上面的DriverManager它不需要你去关心他的驱动实现,你只需要实现他的DataSource接口,只要实现了接口中的功能就行,有点类似领域层与第三方包之间的防腐层概念。市面上大多数连接池都实现了Datasource的接口。

早期的jdbc规范重,应用程序需要显示的加载驱动类,就比如这样 Class.forName("org.xxx.jdbc.xxx.driver")估计有些项目目前在开发需要指定对应的驱动文件,底层就是类似上面的写法,来手动加载驱动类。

总结

  1. Mybatis的出现减少了应用与数据库之间的耦合,省去了开发人员大量的 jdbc代码
  2. JDBC是一套规范,JDBC API则是java给出的一套企业级解决方案对接接口