mybatis学习(一)基本概念

一、mybatis简介

Mybatis前身是ibatis,是apache的一个开源项, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。是一个java语言编写的ORM框架,支持普通的sql查询、存储过程、高级映射的持久层框架。
使用过hibernate的可以直接跳过这篇文章,直接看第二节看mybaits如何快速搭建,然后回头再看这篇文章。


1.ORM工具基本思想:

无论是使用hibernate还是mybatis,他们的共同点都是:
a.(1)通过配置文件得到sessionFactory。
(2)通过sessionFactory创建session
(3)session完成增删改查和事务的提交回滚等。
(4)关闭session
b.  java对象和数据库之间进行 mapping映射,通常通过xml或者注解形式。



二、mybatis优缺点

优点:
(1)易于上手和掌握。
(2)sql写在xml中,便于统一管理和优化。也可以放到annotation注解中。
(3)将诶出sql与程序代码的耦合。
(4)提供映射标签,支持对象关系组件维护。
(5)提供xml编写 动态的sql。

缺点:
(1)sql工作量大
(2)sql依赖于数据库,倒是数据库移植性变差。
(3)xml中标签id必须唯一,导致Dao方法不支持方法重载。
(4) 不支持级联更新、级联删除。
(5)编写动态sql时,不方便调试,尤其是逻辑复杂的时候。



二、mybatis功能架构分层

如图3.1所示,是mybatis功能架构图。

mybatis分为3层结构:

1)       API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。是mybatis的实体类Mapper接口,如interface UserMapper{...增删改查}。

2)       数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。解析实体mapper.xml文件,处理映射等。

3)      基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。解析configuration.xml配置数据源等。

mybatis功能架构图

图3.1 mybatis功能架构图























  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值