什么是Mybatis:
1,Mybatis是一个支持普通SQL查询、存储过程以及高级映射的持久层框架
2,Mybatis框架也被称之为ORM(Object/Relation Mapping)对象映射关系框架,所谓的
ORM就是一种为了解决面向对象与关系数据库中数据类型不匹配的技术,它通过描述Java
对象与数据库直接的映射关系,自动将Java应用程序中的对象持久化到关系数据库的表中。
Hibernate与Mybatis的区别
一、Hibernate 是一个全表映射的框架 一、Mybatis是一个半自动映射的框架。
二、通常开发者只需定义好持久化对象到数据库 二、“半自动”是相对于Hibernate全表映射而言的
表的映射关系,就可以通过Hibernate提供的方法完 Mybatis需要手动匹配提供POJO、SQL和映射关系
成持久层操作 而Hibernate只需要提供POJO和映射关系即可.
三、开发者并不需要熟练的掌握SQL语句的编写, 三、与Hibernate相比,虽然使用Mybatis手动编写SQL
Hibernate会根据指定的存储逻辑,自动生成对应的 要比使用Hibernate的工作量大,但是Mybatis可以通过
SQL,并调用JDBC接口来执行,所以其开发效率会 配置动态SQL并优化SQL,可以通过配置决定SQL的映
高于Mybatis. 射规则,它还支持存储过程等,对于一些复杂和需要优化
四、Hibernate也存在一些缺点,例如它在多表关联 性能的项目来说,显然使用MyBatis更加适合
时,对SQL查询的支持较差、更新数据时,需要发
送所有字段、不支持存储过程、不能通过优化SQL
来优化性能等。
存储过程 :存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。