在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
MyBatis是一个基于Java的持久层框架,所谓的持久层框架就是专门用来将数据进行持久化的框架,也就是说将数据存储到数据库中的框架。学习并掌握Mybatis,首先就要了解Mybatis的核心组件。下面我们一起来了解一下Mybatis四大核心组件:SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession以及SQL Mapper。

1、SqlSessionFactoryBuilder
作为Mybatis的核心组件之一,它直接翻译为中文是SQL会话工厂建造者,也有人管它叫作MyBatis的构造器。你也许会想为什么在不同的地方看到的这个翻译会有所不同?因为对于我们来说,词汇本身虽然来源于英文,但是汉译词组来自于中国人,我们在翻译英文文献的时候,都会带有个人在技术上的理解,所以叫法略有不同属于正常。这个时候不必纠结于哪一种叫法更合适,或者是更正确,我们知道这个东西是什么就好了。所以当你和其他人在就这个知识讨论出现误差的时候,沟通才是最重要的。
言归正传,我们先来解释SQL,它叫作结构化查询语言,是操作数据库的一种语言。而SqlSessionFactoryBuilder,实际上是用来创建SqlSessionFactory实例的,它可以通过配置文档来创建 SqlSessionFactory,所以说它是构造器也不为过。
2、SqlSessionFactory
直接翻译为SQL会话工厂,它是一个接口,用于创建SqlSession的实例。简单来讲,SqlSessionFactory是MyBatis的关键对象,它是个单个数据库映射关系经过编译后的内存镜像。SqlSessionFactoryBuilder可以从XML配置文件或一个预先定制的Configuration的实例构建出SqlSessionFactory的实例。每一个MyBatis的应用程序都以一个SqlSessionFactory对象的实例为核心.同时SqlSessionFactory也是线程安全的,SqlSessionFactory一旦被创建,应该在应用执行期间都存在。
3、SqlSession
SQL会话,它也是一个接口,这才是MyBatis最核心的对象,也是最重要的Mybatis核心组件。前面的两个组件不过是用来得到它的前提,SQL会话中包含了30个方法,包括执行SQL语句、提交、回滚事务以及获取映射器实例等。
4、SQL Mapper
SQL映射器,它是MyBatis改名之后新开发出来的组件,由一个 Java 接口和 XML 文件(或注解)构成,如果想要使用SQL映射器,就必须遵循它所提出的一系列规范,这一点我们将在第四关中讲解。它主要通过调用Java接口中的方法来执行与其捆绑的SQL语句,并返回结果。
以上就是Mybatis的核心组件,相信看到这里,大家都已经有了一个初步的了解。要想跟深入学习Mybatis的核心组件,欢迎大家在博学谷在线观看相关的视频课程资源~
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
零基础如何学习Java编程语言?
Java编程语言一直都是世界范围内使用率最为广泛的编程语言,因为其同行用、安全性、高效性和平台移植性等特点,被企业广泛的应用。尤其近几年大数据与人工智能的概念持续火爆。Java语言更加凸显其优势,其职业发展前景更加更阔。那对于零基础的同学如何学习Java编程语言呢?
5899
2019-10-28 18:49:03
2020年九大Java开发框架都有什么?
2020年九大Java开发框架,小编主要介绍Spring框架、Hibernate框架、Struts框架、Play框架、GoogleWebToolkit框架、Grails框架、Blade框架、JavaServerFaces框架、Vaadin框架九大框架,希望您可以多Java框架有更多的认识。
7200
2019-12-18 16:34:54
Java开发游戏抽奖算法有哪些?
Java开发游戏抽奖算法有哪些?抽奖算法根据需求而定,游戏抽奖算法在指定奖品的集合中,每个奖品根据对对应概率进行抽取。Java开发游戏抽奖算法主要有随机数一一对应、离散法Alias算法等
9871
2020-02-19 16:26:26
html5和Java发展前景如何?
目前,许多想要学习IT技术的朋友都在考虑这样一个问题,html5和Java发展前景如何?简单来讲,html5是新兴的前端开发技术,发展前景自不必多说。而Java是老牌的后端开发语言,一直以来都备受程序员的青睐和追捧,就业岗位的选择也十分广泛。要想知道html5和Java发展前景,我们下面来详细分析一下。
6207
2020-06-15 17:05:43
在项目中如何使用 Disruptor 做内部消息队列?
在项目中如何使用 Disruptor 做内部消息队列?工作中遇到项目使用Disruptor做消息队列 ,不是Kafka也不是rabbitmq;Disruptor有个最大的优点就是快,是开源的。其实生成者到消费者模式是很常见的,通过一些消息队列也可以轻松做到上述的效果。不同的地方在于,Disruptor 是在内存中以队列的方式去实现的,而且是无锁的。
6869
2022-04-29 14:03:28
