首页 > 编程知识 正文

sql底层原理,java事务的四大特性

时间:2023-05-03 11:40:19 阅读:175662 作者:4345

前言MyBatis是一个简单、小巧,但功能非常强大的ORM开源框架,其强大还体现在缓存机制中。 MyBatis提供了l1缓存和l2缓存两种缓存机制,可以有效地处理和维护缓存,提高系统性能。 本文主要讨论了MyBatis的体系结构设计思路,并讨论了MyBatis的几个核心部件及其之间的关系。

一. Myabtis框架设计

1 .接口层-如何与数据库交互

MyBatis和数据库的交互有两种方法。

a .使用传统MyBatis提供的API;

使用映射器界面

2 .数据处理层

数据处理层可以说是MyBatis的核心,从大的方面来说,需要发挥两个功能。

a .根据传入的参数构建动态SQL语句;

b .执行SQL语句并封装查询结果的集成List

3 .框架支撑层

3.1 .事务管理机构

事务管理机制是ORM框架不可缺少的一部分,事务管理机制的质量也是考虑ORM框架是否优秀的一个标准。

3.2 .连接池管理机制

对于数据吞吐量高且具有大量访问权限的APP应用,连接池的设计非常重要,因为创建数据库连接需要消耗大量资源。

3.3 .缓存机制

为了提高数据利用率并减少服务器和数据库负载,MyBatis为一些查询提供了会话级数据缓存。 MyBatis将一个查询放置在SqlSession中,并在允许的时间间隔内,直接将缓存结果返回给用户。 不需要在数据库中搜索。

3.4 SQL语句的配置方法

传统的my batis SQL语句配置方法是使用XML文件配置的,但这种方法不能很好地支持面向接口的编程理念。 为了支持面向接口的编程,MyBatis引入了Mapper接口的概念。 面向接口的引入使得使用注释构成SQL语句成为可能,用户只需在接口中添加必要的注释即可。 虽然不再需要配置XML文件,但当前的MyBatis对注释配置SQL语句的支持有限,某些高级功能依赖于XML配置文件来配置SQL语句。

4导向层

引导层是配置和启动MyBatis配置信息的方法。 MyBatis提供了两种启动MyBatis的方法:基于XML配置文件的方法和基于Java API的方法。

二、MyBatis的主要组成部分及其相互关系从MyBatis代码实现的角度来看,MyBatis的主要核心部件是:

作为3358www.Sina.com/mybatis的顶级API,表示与数据库交互的会话,完成所需的数据库添加、删除、更改功能

SqlSessionMyBatis执行器是MyBatis调度的核心,负责SQL语句的生成和查询缓存的维护

Executor封装了JDBC语句操作,包括设置参数并将语句结果集转换为列表集合。

StatementHandler将传递给用户的参数转换为JDBC Statement所需的参数;

负责将从33558www.Sina.com/JDBC返回的结果集对象转换为List类型的集合;

负责33558www.Sina.com/Java数据类型和jdbc数据类型之间的映射和转换;

33558 www.Sina.com/mapped statement维护了选择|更新|删除节点的封装;

ParameterHandler根据从用户传递的参数对象动态生成SQL语句,将信息封装并返回BoundSql对象;

ResultSetHandler表示与动态生成的SQL语句相对应的参数信息;

TypeHandlerMyBatis所有配置信息都保留在Configuration对象中。

这些关系如下图所示。

三.总结MyBatis是一个应用广泛的可持续化框架。 简单的使用示例如下所示。 首先创建会话工厂,然后从会话工厂打开会话,在根据class类型和配置生成Mapper接口的代理中实现,最后使用Mapper进行持久性操作。

所有的过程大致可以用一张图来概括:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。