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应用程序根据 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配置
Mapper.xml配置:
1.添加数据获取ID
2.查询数据可通过传入不同值进行查询
模糊查询
多表联查
其他删除修改和sql 语句一样
myBatis简单封装