概述

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

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

MyBatis 与 Hibernate

  • Hibernate 框架是提供了全面的数据库封装机制的 “全自动” ORM,即实现了 POJO 和数据库表之间的映射,以及 SQL 的自动生成和执行。 相对于此,MyBatis 只能算作是 “半自动” ORM。其着力点,是在 POJO 类与 SQL 语句之间的映射关系。也就是说,MyBatis 并不会为程序员自动生成 SQL 语句。具体的 SQL 需要程序员自己编写,然后通过 SQL 语句映射文件,将 SQL 所需的参数,以及返回的结果字段映射到指定 POJO。因此,MyBatis 成为了“全自动”ORM 的一种有益补充。

MyBatis 的特点

  • 在 XML 文件中配置 SQL 语句,实现了 SQL 语句与代码的分离,给程序的维护带来了很大便利。
  • 因为需要程序员自己去编写 SQL 语句,程序员可以结合数据库自身的特点灵活控制 SQL 语句,因此能够实现比 Hibernate 等全自动 ORM 框架更高的查询效率,能够完成复杂查询。
  • 简单,易于学习,易于使用,上手快。 

最新文章

  1. php 使用htmlspecialchars() 和strip_tags函数过滤HTML标签的区别
  2. Xcode开发小问题集锦
  3. SQL调优之排名优化
  4. 网站启动SSL, http变为https后,session验证码错误解决方法
  5. Objective-C----MRC内存管理 、 自动释放池 、 面向对象三大特性及封装 、 继承 、 组合与聚合
  6. Mongodb学习使用记录
  7. The7th Zhejiang Provincial Collegiate Programming Contest->Problem A:A - Who is Older?
  8. sql - union all
  9. 浅谈C中的指针和数组(七)
  10. Hadoop-2.2.0中文文档—— MapReduce下一代- 可插入的 Shuffle 和 Sort
  11. asp.net接收发送的xml字符串数据
  12. iOS基础常用细节问题处理65条
  13. 基于Tornado签名cookie源码设计API认证
  14. [转帖]wifi 4G 和 蓝牙的区别
  15. linux: 安装jdk(java)
  16. Framework7框架结构
  17. 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从
  18. EJB实体Bean怎样和数据库中表关联?
  19. cmd中执行jar文件命令(待参数)
  20. The servlets named [create_subscription] and [servlet.create] are both mapped to the url-pattern [/create] which is not permitted [duplicate]

热门文章

  1. C++中字符编码的转换(Unicode、UTF-8、ANSI)
  2. Redis的过期策略和内存淘汰策略(转)
  3. json相关安全问题
  4. 利用CNN神经网络实现手写数字mnist分类
  5. js对象原型prototype
  6. 刘志梅2017710101152.《面向对象程序设计(java)》第十二周学习总结
  7. 一、.NetCore EF 之命令行
  8. 215.Spring Boot+Spring Security:初体验
  9. hadoop单机模式安装流程
  10. SQLServer 2008 已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: SSL Provider, error: 0 - 等待的操作过时。