MyBatis简介
Posted 互联网IT信息
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis简介相关的知识,希望对你有一定的参考价值。
1Mybatis功能简述
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github;
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
2Mybatis与其他持久化框架的比较
Mybatis与JDBC相比的优势:
1. 不需要考虑如何与数据库建立连接及管理这些连接,不需要考虑不同厂商的数据库系统,减少代码量;
2. SQL从代码中彻底分离,可重用,提高代码的可读性;
3. 增强了项目中的分工;
4. 简单的持久层框架;
5. 架构级性能增强。
Mybatis与JDBC相比如何选择:
通过以上对比mybatis有比较明显的优势,建议选择mybatis。
Mybatis与Hibernate比较:
Hibernate的特点:
1.主流的ORM映射框架,比较庞大,提供了POJO与数据库表的全部映射
2. 会自动生成全套SQL语句
3. 因为自动化程度高,映射配置复杂,API也相对复杂,灵活性不高
4. 不懂SQL语句的人也可以使用此框架
Mybatis的特点:
1. 一个SQL语句映射框架
2. 注重POJO与SQL语句的映射关系,不会在程序运行期间自动生成SQL,SQL语句可控
3. 自动化程度低,手工映射SQL,利于数据库调优,灵活性高
4. 需要开发人员掌握SQL语句
Mybatis与Hibernate相比如何选择:
两者各有优势,如果项目的业务场景要求的sql比较复杂,建议选择mybatis;
如果项目的业务场景要求的sql不复杂,实体类之间的关系也比较简单,那选择hibernate则比较轻量级。
3Mybatis的架构图和核心流程、模型
架构图:
核心流程:
核心模型:
SqlSessionFactoryBuilder:是mybatis的入口,用来加载mybatis需要的配置文件,并通过他创建SqlSessionFactory;
SqlSessionFactory:是mybatis的实例的核心,通过它来开启一个会话。
SqlSession:是mybatis的会话,通过它可以对持久化对象进行操作。
Mapper:是定义mybatis的访问数据库方法的。
以上是关于MyBatis简介的主要内容,如果未能解决你的问题,请参考以下文章