关于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工作原理?如下图:
原理:
通过SqlSessionFactoryBuilder从mybatis-config.xml配置文件中构建出SqlSessionFactory。
SqlSessionFactory开启一个SqlSession,通过SqlSession实例获得mapper对象并且运行mapper映射的Sql语句。
完成数据库的CRUD操作和事务提交,关闭SqlSession。
以上就是关于java mybatis面试题,七大常见问答题的主要内容了。如果你对java知识感兴趣,想要了解更多Java面试题有关内容,敬请关注奇Q工具网。
推荐阅读: