mybatis简介

本文探讨了MyBatis和Hibernate这两个持久层框架的区别。MyBatis为基于Java的持久层框架,支持普通SQL查询、存储过程及高级映射,通过简单的XML或注解配置,将接口和Java POJOs映射到数据库记录。与之相比,Hibernate提供更全面的自动化功能,通过对象关系模型实现数据库操作。文章详细解析了两者在SQL语句使用、移植性、扩展性等方面的不同。

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有什么区别呢?

  1. hibernate是全自动,而mybatis是半自动。(hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的映射结构来自动生成sql。而mybatis仅有基本的字段映射,对象数据以及对象实际关系仍然需要通过手写sql来实现和管理。)
  2. myhabits是半自动化,hibernate是全自动化。
  3. myhabits使用的是sql语句,而hibernate使用的hql。
  4. hibernate是无缝移植的,而mybatis是扩展性和迁移性比较差,成本很高。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值