每天几道面试题SSM面试题
SSM面试题
1、#{}和¥{}的区别?
${}会产生SQL注入,#{}不会产生SQL注入问题
#{}
匹配的是一个占位符,相当于JDBC中的一个?
,会对一些敏感的字符进行过滤,编译过后会对传递的值加上双引号,因此可以防止SQL注入问题。
${}
匹配的是真实传递的值,传递过后,会与sql语句进行字符串拼接。${}
会与其他sql进行字符串拼接,不能预防sql注入问题。
2、spring mvc的主要组件
1、前端控制器(DispatcherServlet)
2、处理器映射器(HandlerMapping)
3、处理器适配器(HandlerAdapter)
4、后端控制器(处理器)(Handler)
5、视图解析器(ViewResolver)
3、spring DI 的三种方式
1. 接口注入
2. Setter方法注入
3. 构造方法注入
4、spring主要使用了什么模式
1.工厂模式
2.模版模式
3.代理模式
4.策略模式
5.单例模式
5、模糊查询like语句该怎么写
第1种:在Java代码中添加sql通配符。
string a = “%smi%”;
list<name> names = mapper.selectlike(a);
<select id=”selectlike”>select * from foo where bar like #{value}
</select>
第2种:在sql语句中拼接通配符,会引起sql注入
string a = “smi”;
list<name> names = mapper.selectlike(a);
<select id=”selectlike”>select * from foo where bar like "%"${value}"%"
</seect>
6、如何执行批量注入
利用MyBatis拼接sql语句:
INSERT INTO userTable (id,username,password) VALUES ('1','A','123'),('2','B','456'),....
Service层
List<User> userList=new ArrayList<>();
...
userList.add(user1);
userList.add(user2);
userList.add(user3);
userList.add(user4);
...
UserDao.addUsers(userList)
Dao层
public void addUsers(List<User> list);
Mapper代码如下:
<insert id="方法名">INSERT INTO userTable (id,username,password)VALUES<foreach collection="list" item="u" separator=",">(#{u.id},#{u.username},#{u.password})</foreach></insert>
7、请说说MyBatis的工作原理
先封装SQL,接着调用JDBC操作数据库,最后把数据库返回的表结果封装成Java类。
8、获取上一次自动生成的主健值
9、说一下spring的事务隔离
1、Default:用底层数据库的设置隔离级别,数据库设置的是什么我就用什么;
2、未提交读(read uncommited) :脏读,不可重复读,虚读都有可能发生。
是最低的事务隔离级别,它允许另外一个事务可以看到这个事务未提交的数据。
3、已提交读 (read commited):避免脏读。但是不可重复读和虚读有可能发生。
保证一个事物提交后才能被另外一个事务读取。另外一个事务不能读取该事物未提交的数据。
4、可重复读 (repeatable read) :避免脏读和不可重复读.但是虚读有可能发生。
保证多次读取同一个数据时,其值都和事务开始时候的内容是一致,禁止读取到别的事务未提交的数据,MySQL 的默认级别。
5、串行化读 (serializable) :避免以上所有读问题.
这是花费最高代价但最可靠的事务隔离级别。事务被处理为顺序执行。
Mysql 默认:可重复读
Oracle 默认:已提交读
6、脏读 :表示一个事务能够读取另一个事务中还未提交的数据。比如,某个事务尝试插入记录 A,此时该事务还未提交,然后另一个事务尝试读取到了记录 A。
7、不可重复读 :是指在一个事务内,多次读同一数据。
8、幻读 :指同一个事务内多次查询返回的结果集不一样。一个事务读到另一个事务已提交的insert数据。
10、spring IOC的实现机制
1、初始化spring容器
2、扫描包下所有calss
3、解析calss中的注解信息
4、封装类反射后实例化类对象
5、以beanld,bean实例化类对象形式保存集合(–本地调用某个bean中的方法)
6、getbean
7、bean的实例化类对象
8、bean的具体方法及执行结果
每天几道面试题SSM面试题相关推荐
- Java面试被问框架源码看过吗?70道SSM面试题及学习笔记值得收藏!
java思维导图 前言 很多小伙伴可能会很困惑,为什么BAT的面试官总是喜欢问源码?其实我们常用的Spring.MyBaits这样的框架可以说是JAVA里面最经典的教科书,从中你能学习到很多写代码 ...
- 松哥整理了 15 道 Spring Boot 高频面试题,看完当面霸
什么是面霸?就是在面试中,神挡杀神佛挡杀佛,见招拆招,面到面试官自惭形秽自叹不如!松哥希望本文能成为你面霸路上的垫脚石! 做 Java 开发,没有人敢小觑 Spring Boot 的重要性,现在出去面 ...
- 1000道最新高频Java面试题,覆盖25个技术栈(多线程、JVM、高并发、spring、微服务、kafka,redis、分布式)从底层原理到架构!
每个技术人都有个大厂梦,我觉得这很正常,并不是饭后的谈资而是每个技术人的追求.像阿里.腾讯.美团.字节跳动.京东等等的技术氛围与技术规范度还是要明显优于一些创业型公司/小公司,如果说能够在这样的公司锻 ...
- 松哥整理了 15 道 Spring Boot 高频面试题,看完当面霸!
点击"牧码小子"关注,和众多大牛一起成长! 关注后,后台回复 java ,领取松哥为你精心准备的技术干货! 什么是面霸?就是在面试中,神挡杀神佛挡杀佛,见招拆招,面到面试官自惭形秽 ...
- 10道海量数据处理的面试题
说明:本文分为俩部分,第一部分为10道海量数据处理的面试题,第二部分为10个海量数据处理的方法总结. 出处:http://blog.csdn.net/v_JULY_v. 第一部分.十道海量数据处理面试 ...
- 16道嵌入式C语言面试题(经典) 预处理器(Preprocessor)
16道嵌入式C语言面试题(经典) 预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_ ...
- 嵌入式linux开发考试题目,练一练!3道经典嵌入式Linux面试题,答案在文末。
原标题:练一练!3道经典嵌入式Linux面试题,答案在文末. 题一: 简述memcpy和strcpy的区别? 题二:信号量与互斥锁的区别? 题三:简述程序编译的过程? 题一答案: (1)复制的内容不同 ...
- 分享10道常考Java面试题及答案
转载自 分享10道常考Java面试题及答案 Hi,大家好,今天给大家分享10道常考的Java面试题及答案,涉及到Java中的10个方面.每个领域一道题.希望你能有收获. <面向对象>什 ...
- 分享18道Java基础面试笔试题
转载自 分享18道Java基础面试笔试题(面试实拍) 1.你最常上的两个技术站和最常使用的两个app分別进什么?主要解决你什么需求? 2.请简述http协议中get请求和post请求的区别. 3.请简 ...
- vue openlayer单击地图事件循环多次执行_12道vue高频原理面试题,你能答出几道?
前言 本文分享 12 道 vue 高频原理面试题,覆盖了 vue 核心实现原理,其实一个框架的实现原理一篇文章是不可能说完的,希望通过这 12 道问题,让读者对自己的 Vue 掌握程度有一定的认识(B ...
最新文章
- 图像补运算:MatIterator_迭代器反色处理
- 财报上的云计算战场: 巨头们垄断加剧
- 救援模式下更改用户密码
- Qtum量子链AUR开发工具包即日上线
- .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类
- macOS安装Maven_IDEA集成Maven
- 360浏览器怎么添加应用 360安全浏览器应用添加教程
- 最多添加3个标签,每个标签最长6字,空格或逗号隔开
- 在MingW下编译llvm/clang
- 计算机面试 OA 试题及答案,办公自动化题库OA(附答案)
- 使用python画二元二次函数(笔记)
- nyoj366 D的小L 全排列模板题
- 计算机管理主分区改成逻辑分区,Win7将主分区变为逻辑分区的方法
- 手机相册中的照片如何导入备忘录?
- 如何使用微信小程序制作banner轮播图?
- 保留指定小数位数js函数封装
- HTML打开网页自动播放音乐
- 用Javascript开发《三国志曹操传》-开源讲座(四)-用地图块拼成大地图
- 一文尽览 | 基于点云、多模态的3D目标检测算法综述!(Point/Voxel/Point-Voxel)
- atom编辑器下载安装