1、spring事务的默认配置是什么?
Spring的事务管理默认是针对unchecked exception回滚,也就是默认对Error异常和RuntimeException异常进行事务回滚。
注checked的异常必须由try-catch语句包含或者由方法throws抛出,且事务默认对checked异常不进行回滚。【参考】
2、mybatis插入一条数据时,怎样获取其自增主键?
在mapper的映射文件xml中加上属性useGeneratedKey="true",keyProperty="id",前者表示获取主键并将其赋值至keyProperty的属性中。【参考1,参考2】
3、mybatis的mapper的映射文件xml中,除了常见的select|update|insert|delete标签外,还有哪些标签?
<resultMap>、<parameterMap>、<sql>、<include>、<selectKey>,加上动态sql的9个标签trim|where|set|foreach|choose|when|otherwise|bind//where|when|if|foreach|choose|trim|bind|otherwise|set,<selectKey>表示为不支持自增的主键生成策略。
4、${}与#{}的区别
${}为properties文件中的占位符,可以用于标签属性值和sql内部,属于静态文本替换,常见的有db.properties中的数据源。
#{}是sql中的参数暂未付,相当于“?”【mybatis相关面试锦集】
5、为什么说mybatis是半自动化ORM映射工具?它与全自动的区别是什么?
Hibernate是全自动化ORM映射工具,使用Hibernate查询关联对象或者关联集合对象时,可以根据对象关系模型直接获取,所以是全自动。而mybatis查询关联对象或者关联集合对象,需要手写sql语句,所以是半自动。
6、Springboot的核心注解是什么?其包含那几个主要注解?相应的注解的功能是什么?
springboot的核心注解是@SpringBootApplication,它是一个组合注解,主要包含@SpringBootConfiguration,@EnableAutoConfiguration,@ComponetScan。
@SpringBootConfiguration作用与@Configuration相同,不同的是该注解是一个被装载的bean,springboot推荐使用@SpringBootConfiguration取代@Configuration。
@EnableAutoConfiguration启用自动配置,该注解会使springboot项目中依赖的jar包自动配置项目的配置项。
@ComponetScan自动扫描@SpringBootApplication所在类的统计目录以及它的子项目目录,excludeFilters:指定不适合组件扫描的类型。【参考】