栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MyBatis与JDBC访问数据库的过程对比

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MyBatis与JDBC访问数据库的过程对比

MyBatis实现访问数据库的过程


从上图可以看出,MyBatis框架在操作数据库时,大体经过了8个步骤。下面就对图中的每一步流程进行详细讲解,具体如下:

(1)读取MyBatis配置文件mybatis-config.xml。
mybatis-config.xml作为MyBatis的全局配置文件,配置了MyBatis的运行环境等信息,其中主要内容是获取数据库连接。

(2)加载映射文件Mapper.xml。
Mapper.xml文件即SQL映射文件,该文件中配置了操作数据库的SQL语句,需要在mybatis-config.xml中加载才能执行。mybatis-config.xml可以加载多个配置文件,每个配置文件对应数据库中的一张表。

(3)构建会话工厂。
通过MyBatis的环境等配置信息构建会话工厂SqlSessionFactory。

(4)创建SqlSession对象。
由会话工厂创建SqlSession对象,该对象中包含了执行SQL的所有方法。

(5)MyBatis底层定义了一个Executor接口来操作数据库,它会根据SqlSession传递的参数动态的生成需要执行的SQL语句,同时负责查询缓存的维护。

(6)在Executor接口的执行方法中,包含一个MappedStatement类型的参数,该参数是对映射信息的封装,用来存储要映射的SQL语句的id、参数等。Mapper.xml文件中一个SQL对应一个MappedStatement对象,SQL的id即是MappedStatement的id。

(7)输入参数映射。
在执行方法时,MappedStatement对象会对用户执行SQL语句的输入参数进行定义(可以定义为Map、List类型、基本类型和POJO类型),Executor执行器会通过MappedStatement对象在执行SQL前,将输入的Java对象映射到SQL语句中。这里对输入参数的映射过程就类似于JDBC编程中对preparedStatement对象设置参数的过程。

(8)输出结果映射。
在数据库中执行完SQL语句后,MappedStatement对象会对SQL执行输出的结果进行定义(可以定义为Map和List类型、基本类型、POJO类型),Executor执行器会通过MappedStatement对象在执行SQL语句后,将输出结果映射至Java对象中。这种将输出结果映射到Java对象的过程就类似于JDBC编程中对结果的解析处理过程。

JDBC操作数据库的基本步骤

1)加载(注册)数据库驱动(到JVM)。

2)建立(获取)数据库连接。

3)创建(获取)数据库操作对象。

4)定义操作的SQL语句。

5)执行数据库操作。

6)获取并操作结果集。

7)关闭对象,回收数据库资源(关闭结果集–>关闭数据库操作对象–>关闭连接)。

细说:JDBC连接数据库步骤(六个步骤) mybatis与jdbc的比较
  • JDBC是Java提供的一个操作数据库的API;

  • MyBatis是一个支持 普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的 XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old JavaObjects,普通的Java对象)映射成数据库中的记录

MyBatis是对JDBC的封装。相对于JDBC,MyBatis有以下优点:

  • 1)优化获取和释放
  • 2)SQL统一管理,对数据库进行存取操作
  • 3)传入参数映射和生成动态SQL语句
  • 4)能够对结果集进行映射
细说:Spring是如何管理Bean
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/665838.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号