Mybatis成为首选持久框架的原因

简介: 持久层可以将业务数据存储到磁盘,具备长期存储能力,只要磁盘不损坏(大部分的重要数据都会有相关的备份机制),在断电或者其他情况下,重新开启系统仍然可以读取这些数据。

持久层可以将业务数据存储到磁盘,具备长期存储能力,只要磁盘不损坏(大部分的重要数据都会有相关的备份机制),在断电或者其他情况下,重新开启系统仍然可以读取这些数据。一般执行持久任务的都是数据库系统。持久层可以使用巨大的磁盘空间,也比较廉价,它的确定就是比较慢。

Mybatis成为java互联网时代首选的持久框架

原因:

1. 不屏蔽SQL ,意味着可以更精确地定位sql语句,可以对其进行优化和改造,这有利于互联网系统性能的提高,符合互联网需要性能优化的特点。

2. 提供强大、灵活的映射机制,方便java开发者使用。提供动态的sql的功能,允许我们根据不同条件组装sql,这个功能远比其他工具或java编码的可读性和可维护性高的多,满足各种应用系统的同时也满足了需求经常变化的互联网应用的要求。

3. 在mybatis中,提供使用了Mapper接口编程,只要一个接口和一个XML就能创建映射器,进一步简化我们的工作,使得很多框架API在mybatis中消失,开发者更集中于业务逻辑。

mybatis核心组件

SqlSessionFactoryBuilder(构造器):它会根据配置或者代码来生成SqlSessionFactory,采用的是分布构建的Builder模式。

SqlSessionFactory(工厂接口):依靠它来生成SqlSession,使用的是工厂模式。

SqlSession(会话),一个既可以发送SQL执行返回结果,也可以获取Mapper的接口。在现有技术中,一般我们会让其在业务逻辑代码中“消失”,而使用的是 MyBatis 提供的 SQL Mapper 接口编程技术,他能提高代码的可读性和可维护性。

SQL Mapper(映射器):Mybatis新设计存在的组件,它由一个java接口和XML文件(或注解)构成,需要给出对应的SQL和映射规则。它负责Sql去执行,并返回结果。

img_42e4a81866d4d550358d868a4dfe17d1.jpe

SqlSession

在 Mybatis 中有两个实现类,DefaultSqlSession 和 SqlSessionManager。

DefaultSqlSession是单线程使用的

SqlSessionManager是多线程使用的。

作用:

SqlSession的作用类似于一个JDBC中的 Connection对象,代表着一个连接资源的启用。

1、获取Mapper接口。

2、发送SQL给数据库。

3、控制数据库事务。

1、创建 SqlSession

SqlSession sqlsession=SqlSessionFactory.openSession();1

2、SqlSession控制数据库事务

//定义SqlSessionSqlSession sqlsession=null;try{ //打开SqlSession会话 sqlsession=SqlSessionFactory.openSession(); //some code ... sqlsession.commit();//提交事务}catch(Exception e){ sqlsession.rollback();}finally{ //在finally语句中确保资源被顺利关闭 if(SqlSession!=null) sqlsession.close();}1234567891011121314

映射器

其有一个接口和对应的 xml 文件( 或注解 )组成。

它可以配置如下内容:

描述映射规则

提供SQL语句,并可以配置SQL参数类型、返回类型、缓存刷新等信息。

配置缓存

提供动态SQL

映射器的主要作用就是将 sql 查询到的结果映射为一个 POJO,或者将 POJO的数据插入到数据库中,并定义一些关于缓存等重要内容

定义一个角色POJO

public class Role{ private Long id; private String roleName; private String note; /*setter and getter*/}


欢迎加入Java高级架构学习交流群:375989619

本群提供免费的学习指导 架构资料 以及免费的解答

不懂得问题都可以在本群提出来 之后还会有职业生涯规划以及面试指导 进群修改群备注:开发年限-地区-经验 方便架构师解答问题

免费领取架构师全套视频!!!!!!!!

相关文章
SQL XML Java
47 0
|
1月前
|
SQL Java 数据库连接
区分iBatis与MyBatis:两个Java数据库框架的比较
总结起来:虽然从技术角度看,iBATIS已经停止更新但仍然可用;然而考虑到长期项目健康度及未来可能需求变化情况下MYBATISS无疑会是一个更佳选择因其具备良好生命周期管理机制同时也因为社区力量背书确保问题修复新特征添加速度快捷有效.
114 12
|
2月前
|
SQL XML Java
MyBatis框架如何处理字符串相等的判断条件。
总的来说,MyBatis框架提供了灵活而强大的机制来处理SQL语句中的字符串相等判断条件。无论是简单的等值判断,还是复杂的条件逻辑,MyBatis都能通过其标签和属性来实现,使得动态SQL的编写既安全又高效。
191 0
|
7月前
|
Oracle 关系型数据库 Java
|
7月前
|
SQL 缓存 Java
框架源码私享笔记(02)Mybatis核心框架原理 | 一条SQL透析核心组件功能特性
本文详细解构了MyBatis的工作机制,包括解析配置、创建连接、执行SQL、结果封装和关闭连接等步骤。文章还介绍了MyBatis的五大核心功能特性:支持动态SQL、缓存机制(一级和二级缓存)、插件扩展、延迟加载和SQL注解,帮助读者深入了解其高效灵活的设计理念。
|
9月前
|
SQL Java 数据库连接
对Spring、SpringMVC、MyBatis框架的介绍与解释
Spring 框架提供了全面的基础设施支持,Spring MVC 专注于 Web 层的开发,而 MyBatis 则是一个高效的持久层框架。这三个框架结合使用,可以显著提升 Java 企业级应用的开发效率和质量。通过理解它们的核心特性和使用方法,开发者可以更好地构建和维护复杂的应用程序。
427 29
|
11月前
|
SQL Java 数据库连接
持久层框架MyBatisPlus
持久层框架MyBatisPlus
240 1
持久层框架MyBatisPlus
|
12月前
|
缓存 Cloud Native 安全
探索阿里巴巴新型ORM框架:超越MybatisPlus?
【10月更文挑战第9天】在Java开发领域,Mybatis及其增强工具MybatisPlus长期占据着ORM(对象关系映射)技术的主导地位。然而,随着技术的发展,阿里巴巴集团推出了一种新型ORM框架,旨在提供更高效、更简洁的开发体验。本文将对这一新型ORM框架进行探索,分析其特性,并与MybatisPlus进行比较。
430 0
|
SQL Java 数据库连接
【Java 第十三篇章】MyBatis 框架介绍
MyBatis 原名 iBATIS,2001 年由 Clinton Begin 创建,以其简易灵活著称。2010 年更名以重塑品牌形象。MyBatis 通过 SQL 映射文件将 SQL 语句与 Java 代码分离,支持编写原生 SQL 并与方法映射。具备对象关系映射功能,简化数据库记录处理。支持动态 SQL 构建,灵活应对不同查询条件。内置缓存机制,提升查询效率。相比全功能 ORM,MyBatis 提供更高 SQL 控制度和更好的维护性,并易于与 Spring 等框架集成,广泛应用于 Java 数据访问层。
227 0
|
Java 数据库连接 Spring
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
文章是关于Spring、SpringMVC、Mybatis三个后端框架的超详细入门教程,包括基础知识讲解、代码案例及SSM框架整合的实战应用,旨在帮助读者全面理解并掌握这些框架的使用。
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】