当前位置: 首页 > 工具软件 > Mybatis-Milu > 使用案例 >

MyBatis-----------概述

章昱
2023-12-01

1.Why? 
    为什么要使用MyBatis?
    已经有Hibernate了,为什么还要使用MyBatis?
    MyBatis到底有什么优势呢?
    
2.What?
    ①MyBatis前身:iBatis——"Internet"和"abatis"的组合,是一个基于Java的持久化层框架。
    ②iBatis最早是由Apache负责维护的,后来迁移到了Google Code,并改名MyBatis。代码于2013年11月迁移到了GitHub。
        https://github.com/mybatis/mybatis-3/releases
    ③MyBatis优势
        [1]轻巧:Hibernate核心包4.4M,MyBatis核心包只有698K。
        [2]高效:比Hibernate运行效率高。
        [3]解耦:SQL语句与Java代码相分离,易于单独维护与优化。
    ④MyBatis缺陷
        [1]SQL工作量很大,尤其是字段多、关联表多时,更是如此。
        [2]SQL依赖于数据库,导致数据库移植性差。
        [3]由于XML里标签id必须唯一,导致Dao中的方法不支持重载。
        [4]字段映射标签和对象关系映射标签仅仅是对映射关系的描述,具体实现仍然依赖于SQL。
        [5]不支持级联更新、级联删除。
    ⑤相关技术比较
        [1]效率:JDBC>MyBatis>Hibernate            
        [2]易用:Hibernate>MyBatis>JDBC
        
3.How?
    将Hibernate和MyBatis进行对比,按照对应结构对比学习。
              

 Hibernate MyBatis
核心工厂SessionFactory SqlSessionFactory
数据库会话SessionSqlSession
总体配置文件 hibernate.cfg.xmlmybatis-config.xml
 具体配置文件 User.hbm.xmlUserMapper.xml
接口UserDaoUserMapper
实现类  UserDaoImpl 由框架提供
 自动生成方向 正向工程  逆向工程
一级/二级缓存 支持  支持 
关联关系 重量级 轻量级 

 

 类似资料: