一.mybatis
1.mybatis的实行流程
1.读取mybatis的全局配置文件
2.根据SqlsessionBuilder和配置文件创建sqlsessiinfactory对象
3.根据sqlsessionfactory.opensession()来创建一个session对象
4.根据session.getMapper(xx.class)创建一个代理对象
这里是引用
5.通过代理对象调用方法执行sql语句
2.mybatis中#{}和${}的区别
#{}相当于占位符:底层使用的是PreparedStatementh执行sql语句,他会事先对sql进行编译,然后把传进来的参数会当做“字段的属性值”执行,而不是sql指令,所以当含有sql注入的恶意语句不会去执行。
${}相当于字符串的拼接:底层使用的是statement,如果含有恶意sql语句,就会造成sql注入
3.mybatis中xml的标签
4.一级缓存和二级缓存:参考资料
总结:高频总结
5.关于更多的面试:详情
6.sql总结
这里是引用
二.springMVC
1.拦截器和过滤器的区别:参考资料
需要注意: 拦截器实现HandlerInterceptor的三个方法的执行顺序,以及拦截器的搭建过程
2.springMVC的执行流程:详情
3.三层架构
表现层:负责接收请求并响应数据
业务员:也就是service层,负责处理业务逻辑
持久层:dao层,负责对数据的持久化
4.MVC模型
5.对springMVC的理解(什么是springMVC)
Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发。
6.springMVC中常用的注解
@RequestMapping:用于处理请求 url 映射的注解,可用于类或方法上。用于类上,则表示类中的所有响应请求的方法都是以该地址作为父路径。
@RequestBody:注解实现接收http请求的json数据,将json转换为java对象。
@ResponseBody:注解实现将conreoller方法返回对象转化为json对象响应给客户。