mybatis本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。
mybatis是一个基于Java的持久层框架(半自动),主要包括SQL Maps和Data Access Objects(DAO)、
MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。
MyBatis使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
1.3 每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。
SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。
其系统环境为:
JDK版本:1.8
IDE:InterliJ IDEA 2018.2.5
Maven版本:3.5
MyBatis版本:3.X
数据库:MySQL 5.5
而myhabits作为ORM框架,与与之相类似的ORM的框架hibernate有什么区别呢?
- hibernate是全自动,而mybatis是半自动。(hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的映射结构来自动生成sql。而mybatis仅有基本的字段映射,对象数据以及对象实际关系仍然需要通过手写sql来实现和管理。)
- myhabits是半自动化,hibernate是全自动化。
- myhabits使用的是sql语句,而hibernate使用的hql。
- hibernate是无缝移植的,而mybatis是扩展性和迁移性比较差,成本很高。