面试题汇总

spring MVC注解有哪些

列举一下我常用的 @Controller @RequestMapping @requestParam @PathVariable @ResponseBody
参考: https://www.cnblogs.com/leskang/p/5445698.html

mybatis 注解sql查询和配置文件sql查询的两种写法

注解写法:


image.png

配置文件:


image.png

mybatis ${} #{}的区别,什么情况下必须使用${}

1:
{}不能够防止SQL注入 控制台会打印出拼接的sql \#{}能够防止sql注入 控制台会打印出?作为占位符 2: 动态传入表名,排序字段,查询字段时必须使用\{}

乐观锁和悲观锁的实际使用

乐观锁 使用版本号 (数据库中表字段增加一列为version的版本号)
悲观锁 使用select for update(必须使用where且相关字段需要加索引,否则行级锁会变成表级锁,引擎为innodb,数据库为mysql)

spring事务的隔离级别和传播级别

参考:https://blog.csdn.net/weixin_38070406/article/details/78157603

组合索引的相关知识

有一张user表包含 id name pwd 等字段
因为用户登录需要经常查询name和pwd字段
现在将 id name pwd 三个字段作为一个组合索引,是否能够提高效率?
如果将name pwd各自加上单列索引,是否能够提高效率?
哪个效率更高?

两种方式都能提高效率,组合索引效率更高。

session token

参考:https://www.cnblogs.com/moyand/p/9047978.html

你可能感兴趣的:(面试题汇总)