Mybatis

简介: Mybatis

来源


MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。


iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(sDAO)


介绍


MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Ordinary Java Objects,普通的 Java对象)映射成数据库中的记录。


与Hibernate对比


两者相同点


Hibernate与MyBatis都可以是通过SessionFactoryBuider由XML配置文件生成SessionFactory,然后由SessionFactory 生成Session,最后由Session来开启执行事务和SQL语句。其中SessionFactoryBuider,SessionFactory,Session的生命周期都是差不多的。


Hibernate和MyBatis都支持JDBC和JTA事务处理。


Mybatis优势


MyBatis可以进行更为细致的SQL优化,可以减少查询字段。


MyBatis容易掌握,而Hibernate门槛较高。


Hibernate优势


Hibernate的DAO层开发比MyBatis简单,Mybatis需要维护SQL和结果映射。


Hibernate对对象的维护和缓存要比MyBatis好,对增删改查的对象的维护要方便。


Hibernate数据库移植性很好,MyBatis的数据库移植性不好,不同的数据库需要写不同SQL。


Hibernate有更好的二级缓存机制,可以使用第三方缓存。MyBatis本身提供的缓存机制不佳。


目录
相关文章
|
XML Java 数据库连接
|
SQL Java 数据库连接
|
6月前
|
Java 关系型数据库 数据库连接
Mybatis-plus
Mybatis-plus
|
3月前
|
SQL XML Java
Mybatis02(二)
Mybatis02(二)
28 0
|
3月前
|
SQL Java 数据库连接
Mybatis02(一)
Mybatis02(一)
28 0
|
4月前
|
算法 Java 数据库连接
MyBatis-Plus详解(2)
MyBatis-Plus详解(2)
34 0
|
4月前
|
Java 关系型数据库 MySQL
MyBatis-Plus详解(1)
MyBatis-Plus详解(1)
50 0
|
XML Java 数据库连接
|
6月前
|
SQL 缓存 Java
mybatis使用总结
mybatis使用总结
|
XML Java 数据库连接
MyBatis-Plus
MyBatis-Plus
56 0