Mybatis框架介绍

什么是MyBatis

myBatis的前身是iBatis框架由google code 研发,是一个基于Java的持久层框架。 myBatis是支持定制化  SQL .存储过程以及高级优秀的持久性框架,    mybatis避免了几乎所有的 jdbc 代码和手工设置参数以及抽取结果集。mybatis 使用简单的XML 或注解来配置和映射基本体,将接口和 JavaPOJOs

(普通Java类)映射成数据库中的记录。


 MyBatis 在 iBatis 之后进行了重要的改进。例如:

1.MyBatis 实现了接口绑定,使用更加方便。

2.在ibatis2.x中我们需要在DAO的实现类中指定具体对应哪个xml映射文件, 而Mybatis实现了DAO接口与xml映射文件的绑定,自动为我们生成接口的具体实现,使用起来变得更加省事和方便

3.对象关系映射的改进,效率更高。

4.MyBatis采用功能强大的基于OGNL的表达式来消除其他元素。


MyBatis框架架构

MyBatis

Mybatis框架介绍



原理讲解:

MyBatis应用程序根据 XML 配置文件创建 SqlSessionFactory. SqlSessionFactory 再根据配置,获取一个 SqlSession. 配置来源两个地方,一个是文件配置,一个是Java代码注解。SqlSession包含了执行SQL所需的所有方法,可以通过 SqlSession 实例直接运行映射的SQL语句,完成对数据的增删改查和事务提交等,用完之后关闭SqlSession


MyBatis的优缺点:

优点:

1.简单易学。

 MyBatis本身很小且简单。没有第三方依赖,最简单安装只有两个jar文件+配置几个SQL映射文件 ,易于学习,易于使用,通过文档和源代码,就可以掌握它的设计思路和实现。

2.灵活

MyBatis不会对应用程序或数据库的现有设计强加任何影响。sql写在xml里,便于管理和优化。通过sql基本上可以实现我们不使用数据访问框架就可以实现所用功能。

3.解除sql与程序代码的耦合

  通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。

4.提供映射标签,支持对象与数据库的orm的字段映射。

  5.提供对象关系映射标签,支持对象关系组建维护。

  6.提供xml标签,支持编写动态sql.


缺点:

1.编写SQL语句是工作量大,尤其字段多,多表联查,更是如此。

2.SQL语句依赖与数据库,导致数据库移植性差,不能更换数据 库。

3、框架还是比较简陋,功能尚有缺失,虽然简化了数据绑定代码,但是整个底层数据库查询实际还是要自己写的,工作量也比较大,而且不太容易适应快速数据库修改。

  

4、二级缓存机制不佳


MyBatis框架configuration.xml配置

Mybatis框架介绍


Mapper.xml配置:

1.添加数据获取ID


Mybatis框架介绍


2.查询数据可通过传入不同值进行查询


Mybatis框架介绍


模糊查询


Mybatis框架介绍


多表联查


Mybatis框架介绍


其他删除修改和sql 语句一样

myBatis简单封装


Mybatis框架介绍