MyBatis 简介

8 篇文章 1 订阅
4 篇文章 0 订阅

MyBatis是一个数据持久层(ORM)框架。把实体类和SQL语句之间建立了映射关系,是一种半自动化的ORM实现。

MyBatis的优点:

1. 基于SQL语法,简单易学。

2. 能了解底层组装过程。

3. SQL语句封装在配置文件中,便于统一管理及维护,降低了程序的耦合度。

4. 程序调试方便。

 

MyBatis的发展历史:

1. MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 201311月迁移到Github,通俗说法Ibatis3 = MyBatis;

2. iBATIS一词来源于“internet”和“abatis的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL MapsData Access ObjectsDAO;

MyBatis与JDBC对比:

1. 减少了大量的代码量;

2. 最简单的持久化框架;

3. 架构级性能增强;

4. SQL代码从程序代码中彻底分离,可重用;

5. 增强了项目中的分工;

6. 增强了移植性;

下面是代码对比,相信大家会一目了然。

MyBatis与Hibernate对比:

Hibernate也是一种被广泛使用的ORM解决方案,和MyBatis不同,它是一种自动化的ORM容器,帮助用户完成了更多的操作,结构更为复杂,使用成本较高,灵活性较之MyBatis更小,他们之间的差异如下:

MyBatis

Hibernate

是一个SQL语句映射的框架(工具)

ORM框架、提供了从 POJO 到数据库表的全套映射机制

注重POJOSQL之间的映射关系。不会为程序员在运行期自动生成 SQL

会自动生成全套SQL语句

自动化程度低、手工映射SQL,灵活程度高

因为自动化程度高、映射配置复杂,api也相对复杂,灵活性低

需要开发人员熟练掌据SQL语句

开发人员不必关注SQL底层语句开发

MyBatis的下载

MyBatis的开发步骤:

MyBatis API介绍

SqlSessionFactoryBuilder

主要功能

该类用于创建SqlSessionFactory的实例,可以被实例化、使用和丢弃,在创建完SqlSessionFactory实例后,该对象实际上就可以被丢弃了。

SqlSessionFactoryBuilder重载了个build()方法,允许利用不同的资源来创建SqlSessionFactory实例 

SqlSessionFactory:每一个Mybatis的应用程序都以一个SqlSessionFactory的实例为核心,通过该类可获取操作数据库的核心对象SqlSession

主要功能

创建操作数据库的核心对象SqlSession

生命周期

该对象应该在你的应用执行期间一直存在,由于要从该对象中获取SqlSession对象,这样的操作会相当频繁,同时创建SqlSessionFactory对象是一件消耗资源的事,因此,该对象的生命周期应该为应用返回,即与当前应用具有相同生命周期。

SqlSession

SqlSession:SqlSession包含完全以数据库为背景的所有执行SQL操作的方法,可以用SqlSession对象来执行所有已映射的sql语句

主要功能

操作数据库

下面是对MyBatis框架的理解学习所做的总结:

1.  MyBatis是一个数据持久层(ORM)框架。把实体类和SQL语句之间建立了映射关系,是一种半自动化的ORM实现

2.  MyBatis的优点:基于SQL语法,简单易学,能了解底层组装过程,SQL语句封装在配置文件中,便于统一管理与维护,降低 了程序的耦合度,程序调试方便;

3.  MyBaits内置数据源类型有两种:UNPOOLED-每次请求创建一个新的连接,POOLED-实现了连接池;

4.  使用 MyBatis 的主要 Java 接口就是 SqlSession。可以使用这个接口执行命令,获取映射器;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值