在线客服
扫描二维码
下载博学谷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的核心组件,欢迎大家在博学谷在线观看相关的视频课程资源~
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Apollo分布式部署学什么?掌握到什么程度?
Apollo分布式部署学习,程序员需要掌握配置中心的核心概念及使用场景,熟悉主流配置中心,掌握Apollo的工作原理、安装方法、项目管理、配置管理、集群管理、配置发布、生产环境的部署、灰度发布等核心知识点
3664
2020-02-20 15:54:59
Spring Cloud Alibaba微服务架构项目实战学习目标
Spring Cloud Alibaba微服务架构项目实战学习目标,通过电商项目实现理解SpringCloud 生态中主流技术的用法及原理、掌握微服务架构的实际开发方法、能够轻松投入项目开发工作,增强面试能力、握处理问题以及整体规划的思维方式。
6958
2020-06-16 11:16:31
SpringCloud微服务架构需要学习哪些知识点?
Spring Cloud是一系列框架的有序集合。利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发。如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
3534
2021-03-11 15:18:26
为什么学编程大部分人选Java编程语言?
Java技术已经无处不在,对于新手入门学习也非常友好。Java编程语言一直都稳居排行榜前几的编程语言,Java技术具有卓越的通用性、高效性、安全性和平台移植性,可跨平台的应用到不同的领域工作需求大,因此学习Java的人很多。
3013
2021-04-06 14:27:26
学Java开发能实现月薪12K吗?
不少应届毕业生毕业之后找不到工作,因为考研失去了Java实习的机会,大学期间也没有认真学习软件方面的技术毕业之后找不到工作,通过学习Java能找到适合自己的工作吗?
3295
2021-06-09 14:21:29