mybatis 的初步认识
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis 的初步认识相关的知识,希望对你有一定的参考价值。
1、MyBatis 简介:
- MyBatis 是支持定制化 SQL 、存储过程以及高级映射的优秀的持久层框架。
- MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
- MyBatis 可以使用简单的 XML 或者注解,用于配置和原始映射,将接口和 Java 的 POJO(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录。
2、MyBatis 历史:
- 原是 Apache 的一个开源项目 iBatis,2010 年6月这个项目由 Apache Software Foundation 迁移到了 Google Code,随着开发团队转投到 Coogle Code 旗下,iBatis3.x 正式更名为 MyBatis,代码于2013年11月迁移至 Gihub(下载地址 https://github.com/mybatis/mybatis-3)。
- iBatis 一词来源于 “internet”和“abatis”的组合,是一个基于 Java 的持久层框架。iBatis 提供的持久层框架包括 SQL Maps 和 Data Access Objects(DAO)。
3、为什么要使用 MyBatis ?
MyBatis 是一个半自动化的持久化层框架,sql 和 java 编码分开,功能边界清晰,一个专注业务,一个专注数据。(对于开发人员而言,核心 sql 还是需要自己优化比较好)
- 对于 JDBC 来说,SQL 夹在 Java 代码块中,耦合度高导致硬编码内伤,维护不易且实际的开发需求中 sql 是有变化的,频繁修改的情况多见。
- 对于 Hibernate 和 JPA 来说
* 长难复杂的 SQL,对于 Hibernate 而言处理不容易
* 内部自动生产的 SQL,不容易做特殊优化
* 基于全映射的全自动框架,大量字段的 POJO 进行部分映射时比较困难,导致数据库性能下降
注:上图为 JDBC 中的 情况,功能简单,sql 语句编写在 java 代码中,硬编码高耦合的方式。
注:Hibernate,全自动全映射 ORM (Ojbect Relation Mapping)的框架,旨在消除 sql。(黑色部分的操作,使用框架者完全可以不知道,相当于一个黑盒子,只关注 javaBean 和 DbRecords.)
注:Mybatis 也做了分装,但是它把 sql 和 java 编码分离,sql 是开发人员控制。
本文出自 “12392717” 博客,请务必保留此出处http://12402717.blog.51cto.com/12392717/1930749
以上是关于mybatis 的初步认识的主要内容,如果未能解决你的问题,请参考以下文章
SSM框架MyBatis笔记 --- 三层架构;MyBatis框架结构;MyBatis 核心配置文件;sql 映射文件;MyBatis 使用初步(通过Maven添加依赖)