java mybatis面试题,七大常见问答题

BSO 2020-10-30 16:19:08 java常见问答 4031

关于java的面试题是非常多的,这也都是在面试的时候会经常遇见的一些情况,所以提前的准备是十分有必要的。今天就来为大家介绍一下,java mybatis面试题,七大常见问答题,一起来看看吧。

1、mybatis的好处?

sql语句从Java中独立出来。

封装了底层的JDBC,API的调用,并且能够将结果集自动转换成JavaBean对象,简化了Java数据库编程的重复工作。

自己编写Sql语句,更加的灵活。

入参无需用对象封装(或者map封装),使用@Param注解

2、mybatis配置一对多?代码如下所示:

<collection property="topicComment" column="id" ofType="com.tmf.bbs.pojo.Comment" select="selectComment" />

property:属性名

column:共同列

ofType:集合中元素的类型

select:要连接的查询

3、mybatis配置一对一?代码如下所示:

<association property="topicType" select="selectType" column="topics_type_id" javaType="com.tmf.bbs.pojo.Type"/>

property:属性名

select:要连接的查询

column:共同列

javaType:集合中元素的类型

4 、${}和#{}的区别?

${}:简单字符串替换,把${}直接替换成变量的值,不做任何转换,这种是取值以后再去编译SQL语句。

#{}:预编译处理,sql中的#{}替换成?,补全预编译语句,有效的防止Sql语句注入,这种取值是编译好SQL语句再取值。

总结:一般用#{}来进行列的代替

5、获取上一次自动生成的主键值?代码如下所示:

select last _insert_id()

6、mybatis如何分页,分页原理?

RowBounds对象分页

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

7、mybatis工作原理?如下图:

java mybatis面试题

原理:

通过SqlSessionFactoryBuilder从mybatis-config.xml配置文件中构建出SqlSessionFactory。

SqlSessionFactory开启一个SqlSession,通过SqlSession实例获得mapper对象并且运行mapper映射的Sql语句。

完成数据库的CRUD操作和事务提交,关闭SqlSession。

以上就是关于java mybatis面试题,七大常见问答题的主要内容了。如果你对java知识感兴趣,想要了解更多Java面试题有关内容,敬请关注奇Q工具网。

推荐阅读:

java常见面试题:隐式对象有哪些?

java常见面试题:有哪些不同类型的依赖注入方式?

java中SSM框架面试题,spring的使用