1.发展历史

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。【百度百科

2.简介

MyBatis 是一个优秀的基于java的持久层框架,它内部封装了JDBC,使开发者只需关注SQL语句,而不用再花费精力去处理诸如注册驱动、创建Connection、配置Statement等繁杂过程。

MyBatis 通过xml或注解的方式将要执行的各种statement(statement、prepareStatement)配置起来,并通过java对象和Statement中SQL的动态参数进行映射生成最终执行的SQL语句,最后由MyBatis 框架执行SQL并将结果映射成java对象并返回。

MyBatis是一个支持普通SQL查询存储过程高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。

3.MyBatis 与Hiberna

Hibernate框架提供了全面的数据库封装机制的“全自动”ORM(Object Relational Mapping--对象关系映射),即实现了POJO(Plain Ordinary Java Object--简单的Java对象,实际就是普通JavaBeans)和数据库表之间的映射,以及SQL的自动生成和执行。

MyBatis只能算是“半自动”ORM。其着力点,是POJO类与SQL语句之间的映射关系。也就是说,MyBatis并不会自动生成SQL语句。具体的SQL语句需要自己编写,然后通过SQL语句映射文件,将SQL所需的参数,以及返回的结果字段映射到指定的POJO。因此,MyBatis成为了“全自动”ORM的一种有益补充。

与Hibernate相比,MyBatis具有以下特点:

(1)在XML文件中配置SQL语句,实现了SQL语句和代码的分离,给程序的维护带来了很大的便利。

(2)因为需要自己编写SQL语句,程序员可以结合数据库自身的特点灵活控制SQL语句,因此能够实现比Hibernate等全自动ORM框架更高的查询效率,能够完成复杂查询。

(3)简单,易于学习,易于使用,上手快。

4.MyBatis体系结构

5.Mybatis框架图

6.MyBatis工作原理

R--关系表

mybatis.xml--主配置文件,mapper.xml--映射文件

mybatis框架对jdbc不是完全封装的,sql是要自己写的。

7.mybatis系列文章链接

mybatis学习总结

最新文章

  1. Eclipse安装nodeclipse插件
  2. Caffe学习系列(18): 绘制网络模型
  3. 解析excel表格为DataSet
  4. Struts2 - Interceptor中取得ActionName、Namespace、Method
  5. poj 1860 Currency Exchange :bellman-ford
  6. HTML a 标签 下载 apk 文件
  7. 游戏引擎网络开发者的64做与不做(二A):协议与API
  8. Notepad++ 书签
  9. File上传
  10. Android EditText的使用及值得注意的地方
  11. 彻底解决TAP(点透)提升移动端点击响应速度
  12. 解决Configuration 'compile' is obsolete and has been replaced with implementation
  13. 学习现代 JavaScript 编程的最佳教程
  14. Linux常用命令详解(week1_day1_2)--技术流ken
  15. 【angularjs】使用angularjs模拟淘宝首页-淘宝头条滚动效果
  16. 【王者荣耀之IT大神版】比赛制度说明(匹配赛、排位赛、赏金赛)
  17. React生命周期钩子
  18. REST-assured 2发送消息代码重构
  19. VPS虚拟化架构OpenVZ、KVM、Xen、Hyper-V的区别
  20. SQL语法 之 表连接

热门文章

  1. vue-router钩子beforeRouteEnter函数获取到this实例
  2. windows平台是上的sublime编辑远程linux平台上的文件
  3. Linaro/Yocto/Openwrt
  4. Matlab---傅里叶变换---通俗理解(二)
  5. px rem css 转换工具
  6. 关闭和定时显示DIV
  7. 点击其它地方关闭DIV
  8. redis文档翻译_LRU缓存
  9. EasyRTMP内置进入摄像机中实现网络推流直播摄像机的功能
  10. 在Win7创建WiFi热点