经典Java面试题:什么是 Mybatis
1、需要使用的Jar包:mybatis-3.0.2.jar(mybatis核心包)。mybatis-spring-1.0.0.jar(与Spring结合包)。
2、MyBatis的前身是ibatis,但是在配置sql的语法上有明显的区别,并且spring目前的版本封装mybatis,至于mybatis-spri荏鱿胫协ng.jar文件也是mybatis团队复杂开发的jar包,用于和spring整合。之前ibatis的源码托管方是apache,而mybatis是google。
3、ORM(Object-Relationship-Mapping):是对象关系映射的意思,它是一种思想,是指将数据库中的每一行数据用对象的形式表现出来。
4、JPA(Java-Persistence-API):是Java持久化接口的意思,它是JavaEE关于ORM思想的一套标准接口,仅仅是一套接口,不是具体的实现。
5、MyBatis是一个实现了JPA规范的用来连接数据库并对其进行增删改查操作的开源框架 (就和传统的JDBC一样,就是个连接数据库的东西),其实,它底层就是一个JDBC封装的组件。MyBatis的前身是Ibatis,Ibatis创建与2002年最初为Apache下面的一个开源项目,2010迁移到google code下面并改名为MyBatis。
6、MyBatis虽然实现了JPA但是它并不是一个完完全全的ORM组件,而是一个基于SQL开发的半ORM组件。
7、XML形式:每一个表所要用到的SQL对应一个xml文件,xml文件对应到一个java的接口,xml中榄蝈蒈缩根据mybatis的标签来写不同类型的sql,返回的格式可以用实体、字符串、列表来接收。每一个sql对应到该xml所对应接口中的一个方法。在进行sql查询时调用方法即可。
8、注解形式:基本原理跟XML类似,这种方式是我在用spring boot进行开发是用到的,一个表对应到一个java接口,每个方法上根据sql不同写不同的注解,具体的注解有哪些,网上有很多的资料,注解内也支持xml的标签,完成一些注解没办法做到的事情。
9、在开始的mybatis的定义中就说明了:mybatis是一款优秀的持久层框架。我理骈禄笫杳解的框架就是把一些重复性的,可模块化的工作给封装起来的一个工具。持久层框架就是把有关数据库持久层的一些操作给封装,例如数据库的连接,数据库连接池,数据库的驱动包等等,可以通过配置文件的方式直接进行配置连接。通过框架去管理这些东西,简化开发流程。