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 的初步认识的主要内容,如果未能解决你的问题,请参考以下文章

mybatis1mybatis下载配置与初步使用

SSM框架MyBatis笔记 --- 三层架构;MyBatis框架结构;MyBatis 核心配置文件;sql 映射文件;MyBatis 使用初步(通过Maven添加依赖)

MyBatis初步学习

Mybatis框架学习笔记 --- [缓存初步理解]

认识MyBatis-总述

IDEA初步使用MyBatis