mybais的简介

来源:互联网 发布:brew mysql 编辑:程序博客网 时间:2024/06/11 09:28
   MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录.
Mybatis也是一种ORM框架,所以,肯定也有两类配置文件。
第一类,用来配置MyBatis环境,比如数据库连接等。mybatis-config.xml
第二类,用来配置对象到数据库表的映射。例如RoleMapper.xml.
Mybatis与Hibernate的对比:
序号
Mybatis
hibernate
1.
iBatis SSI 2002年诞生 Cliton begin
2001年 Given King
2.
2010年5月由apache投奔google
Jboss,apache
3.
基于SQL 面向结果集
基于面向对象 HQL
4.
效率高
效率低
5.
SqlSessionFactory
SessionFactory
6.
SqlSession
Session
7.
sqlMapConfig.xml
Hibernate.cfg.xml
8.
userMapper.xml
映射文件 user.hbm.xml
MyBatis的优缺点
  优点:
1、简单易学
mybatis本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
  2、灵活
       mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。
  3、解除sql与程序代码的耦合
       通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
 4、提供映射标签,支持对象与数据库的orm字段关系映射
 5、提供对象关系映射标签,支持对象关系组建维护
 6、提供xml标签,支持编写动态sql。
 
缺点:
 1、编写SQL语句时工作量很大,尤其是字段多、关联表多时,更是如此。
 2、SQL语句依赖于数据库,导致数据库移植性差,不能更换数据库。
 3、框架还是比较简陋,功能尚有缺失,虽然简化了数据绑定代码,但是整个底层数据库查询实际还是要自己写的,工作量也比较大,而且不太容易适应快速数据库修改。
 4、二级缓存机制不佳
 
总结
        mybatis的优点同样是mybatis的缺点,正因为mybatis使用简单,数据的可靠性、完整性的瓶颈便更多依赖于程序员对sql的使用水平上了。sql写在xml里,虽然方便了修改、优化和统一浏览,但可读性很低,调试也非常困难,也非常受限。
      mybatis没有hibernate那么强大,但是mybatis最大的优点就是简单小巧易于上手,方便浏览修改sql语句。