yBatis的底层操作封装了JDBC的API,MyBatis的工作原理以及核心流程与JDBC的使用步骤一脉相承,MyBatis的核心对象(SqlSession,Executor)与JDBC的核心对象(Connection,Statement)相互对应
持久层的那些事
什么是 JDBC
JDBC(JavaDataBase Connectivity)就是 Java 数据库连接, 说的直白点就是 使用 Java 语言操作数据库
本来我们是通过控制台或客户端操作的数据库, JDBC 是用 Java 语言来发送 SQL 语句
JDBC 原理
最初 SUN 公司希望提供一套 能够适用所有数据库的 API, 但是在实际操作中却发现这是项基本不可能完成的任务
因为各个厂商所提供的 数据库差异实在太大, 所以 SUN 公司与数据库厂商讨论出的就是:由 SUN 公司提供出一套访问数据库的规范 API, 并提供相对应的连接数据库协议标准, 然后各厂商根据规范提供一套访问自家数据库的 API 接口
最终:SUN 公司提供的规范 API 称之为 JDBC, 各厂商提供的自家数据库 API 接口称之为 驱动
什么是 Mybatis
Mybatis 是一款优秀的 ORM(持久层)框架,使用 Java 语言 编写前身是 apache 的一个开源项目 iBatis,2010 年迁移到 google code 并正式改名为 Mybatis ORM 持久层 指的是 : 将业务数据存储到磁盘,也具备长期存储能力,只要磁盘不损坏,如果在断电情况下,重启系统仍然可以读取数据
Mybatis 与 JDBC 的关系
在没有持久层框架之前, 想要代码中操作数据库都必须通过 JDBC 来操作, 接下来一个例子来说明两者之间的关系
JDBC 操作数据库
相信大家都在实际项目中使用过 Mybatis, 可以联想一下, 平常我们工作中, 是否做过以下事情:
- 是否装载过数据库驱动?
- 是否从驱动中获取数据库连接?
- 是否创建过执行 SQL 的 Statement?
- 是否自行将数据库返回结果转换成 Java 对象?
- 是否关闭过 finally 块中的三个对象?
看到上面的灵魂拷问, 就可以对本次分享的第一个问题作出解答:
Mybatis 针对 JDBC 中重复操作做了封装, 同时扩展并优化部分功能
Mybatis 关键词说明
以上就是一篇文章告诉你JAVA Mybatis框架的核心原理到底有多重要的详细内容,更多请关注gaodaima搞代码网其它相关文章!