MyBatis常见面试题
1.Mybatis的Xml映射文件中,配置namespace和没有配置namespace有什么区别.
如果配置了namespace,那么id可以重复;如果没有配置namespace,那么id 不能重复 。
2.Mybatis动态sql有什么用?执行原理是什么?
Mybatis动态sql可以在Xml映射文件内,以标签的形式编写动态sql,执行原理是根据表达式的值 完成逻辑判断并动态拼接sql的功能。
3.Mybatis动态sql有哪些?
动态sql标签trim|where|set|foreach|if|choose|when|otherwise|bind。
4.如何获取自动生成的(主)键值?
insert方法总是返回一个int值-这个值代表的是插入的行数。而自动生成的键值在insert方法执行完后可以被设置到传入的参数对象中。
5.Mybatis和jdbc的区别
相比与jdbc,Mybatis具有以下优点
(1)数据库链接创建,释放频繁造成系统资源浪费会影响系统性能,使用数据库可以解决
解决:在核心配置文件SqlMapConfig.xml中配置数据链接池,使用数据链接池管理数据库链接
(2)Sql写在代码中不易于维护,修改需要变动java代码在映射文件XXXMapper.xml文件中配置sql语句与Java代码分离
(3)向Sql语句传输参数麻烦,因为Sql语句的WHERE条件不一定,可能多也可能少&#x