暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
JDBC与MyBatis:数据库访问技术的对比与选择(一).pdf
210
4页
0次
2024-10-18
免费下载
JDBC MyBatis:数据库访问技术的对比与选择(一)
在软件开发领域,数据库交互是不可或缺的一环。JDBC MyBatis 作为 Java 平台上两
种常见的数据库访问技术,各自拥有独特的优势和适用场景。JDBC 作为 Java 标准库的一部
分,提供了基础的数据库访问接口但开发者需要手动处理大量底层细节,增加了开发和
护的复杂度。相比之下,MyBatis 则是一个高级的持久层框架,它通过 XML 配置或注解的方
式简化了 Java 用程序与数据库之间的交互,封装了 JDBC 的底层细节,提高了开发效率。
接下来,我们将进一步探讨 JDBC MyBatis 的详细对比及其在实际应用中的优缺点
一、JDBC 的如何返回结果,底层原理是什么?
之前的文章已经 JDBC 做过详细的介绍(如果有需要可以查看之前 JDBC 相关文章)
此处不再做过多说明,简单总结一下,JDBC 通过加载驱动、建立连接、创建和执行 SQL
句、处理结果集以及关闭资源等步骤来实现与数据库的交互。其底层原理涉及 Java 类加载、
数据库连接管理SQL 语句执行和结果集处理等多个方面。
二、Mybatis 的如何返回结果,底层原理是什么?
MyBatis 底层原理深度解析:从 SqlSessionFactory 到查询结果的完整旅程
Java 的持久层框架中,MyBatis 以其高效、简洁的特点赢得了众多开发者的青睐。其底层
原理主要围绕两大核心组件——SqlSessionFactory SqlSession 展开,它们共同协作,完成
从配置文件加载到查询结果返回的完整流程。
SqlSessionFactory 的构建与配置文件加载
1取与解析MyBatis 首先通过 SqlSessionFactoryBuilder 读取并解析配置文件(通常为 XML
格式的 mybatis-config.xml这个配置文件包含了数据库连接信息事务管理器配置、映射
文件位置以及插件配置等关键信息。
2映射文件的加载在配置文件中,会引用 XML
mapper.xml这些映射文件定义 SQL 语句的映射关系,包括查询语句、数映射以及结
果映射。MyBatis 会解析这些映射文件,生成对应的映射配置。
3SqlSessionFactory MyBatis 创建一个
SqlSessionFactory 对象。这个对象是一个重量级的工厂类,用于创 SqlSession 实例。
SqlSession 的创建与 SQL 语句的执行
4SqlSession 的实例化 SqlSessionFactory openSession 方法,可以创建一个 SqlSession
对象。SqlSession 提供了执行 SQL 操作的方法,是 MyBatis 与数据库交互的入口。
5SQL 语句的执行:在 SqlSession 中,可以调用各种方法执行 SQL 语句,如查selectOne
selectList)、插入(insert)、更新(update)和删除(delete)等。这些方法背后实际上是
通过 Executor 对象来执行的。
6Executor 的执行机制SqlSession 内部维护了一个 Executor 对象,它是 MyBatis 执行 SQL
语句的核心组件Executor 有两种常见的实现:SimpleExecutor ReuseExecutor(还有其
BatchExecutor SimpleExecutor Statement
ReuseExecutor 则会重用已有的 Statement 对象,以提高性能。
7处理参数、执行 SQL 与结果映射在执行 SQL 语句时,SqlSession 会利用 ParameterHandler
Java 对象中的参数传递 Statement。然后,StatementHandler 负责处 SQL 语句的创建
和执行。当执行查询语句时,ResultSetHandler 会负责将查询结果映射到 Java 对象。这三个
处理器共同协作,完成了从参数传递到结果返回的整个过程。
映射文件(mapper.xml)的详细作用
8SQL 语句的定义在映射文件中,开发者可以通 XML 标签定义各种 SQL 语句,包括查
询语句、插入语句、更新语句和删除语句等。这些 SQL 语句会与 Java 方法绑定,实 SQL
Java 代码的解耦。
9命名空间的引用:映射文件中通常包含一个命名空间(namespace),它用于区分不同
的映射文件。命名空间的值通常与对应的 Mapper 接口的全限定名相同,以便 MyBatis 能够
准确地找到并执行对应的 SQL 语句。
10参数映射与结果映射在映射文件中开发者可以通过 parameterType 属性定义参数
类型,通过 resultType resultMap 属性定义结果的映射关系。这些信息帮助 MyBatis Java
对象与数据库表进行映射,实现了对象与数据库之间的无缝转换。
执行流程的详细概述
11SqlSessionFactoryBuilder 加载配置文件首先,通过 SqlSessionFactoryBuilder 读取并
解析配置文件,生成 SqlSessionFactory 对象。
12SqlSessionFactory 创建 SqlSession然后,通过 SqlSessionFactory openSession 方法创
SqlSession 对象。这个对象提供了执行 SQL 操作的方法。
of 4
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜