天天看点

SSM框架面试题之Mybatis面试题

Ibatis:2010年,apache的Ibatis框架停止更新,并移交给了google团队,同时更名为MyBatis。从2010年后Ibatis在没更新过,彻底变成了一个孤儿框架。一个没人维护的框架注定被mybatis拍在沙滩上。Mybatis:Ibatis的升级版本。

Mybatis实现了DAO接口与xml映射文件的绑定,自动为我们生成接口的具体实现,使用起来变得更加省事和方便。

注解使用情况:Sql语句简单时

xml绑定使用情况:xml绑定 (@RequestMap用来绑定xml文件)

SqlSession

映射键值对即可

column:数据库中表的列名

property:实体Bean中的属性名

把Sql语句从Java中独立出来。封装了底层的JDBC,API的调用,并且能够将结果集自动转换成JavaBean对象,简化了Java数据库编程的重复工作。自己编写Sql语句,更加的灵活。入参无需用对象封装(或者map封装),使用@Param注解。

property:属性名

column:共同列

ofType:集合中元素的类型

select:要连接的查询

javaType:集合中元素的类型

RowBounds对象分页

在Sql内直接书写,带有物理分页

SSM框架面试题之Mybatis面试题

流程:

1.通过Reader对象读取Mybatis映射文件

2.通过SqlSessionFactoryBuilder对象创建SqlSessionFactory对象

3.获取当前线程的SQLSession

4.事务默认开启

5.通过SQLSession读取映射文件中的操作编号,从而读取SQL语句

6.提交事务

7.关闭资源

总结:

Mybatis的准备工作与Hibernate差不多,都需要一个总配置文件、一个映射文件。

Mybatis的SQLSession工具类使用ThreadLocal来对线程中的Session来进行管理。

Mybatis的事务默认是开启的,需要我们手动去提交事务。

Mybatis的SQL语句是需要手写的,在程序中通过映射文件的命名空间.sql语句的id来进行调用。