第十七周周报-王雲慧
一、Mybatis和JS
(一) Mybatis
-
拦截器
类似于 Servlet 开发中的过滤器 Filter,用于对处理器进行预处理和后处理
自定义拦截器步骤:
实现接口HandlerInterceptor—>配置拦截器(实现WebMvcConfigurer 接口重写addInterceptors注册拦截器)
拦截器的作用路径可在配置文件中配置
-
拦截器与过滤器的区别
-
拦截器是基于java的反射机制的,而过滤器是基于函数回调。
-
拦截器不依赖与servlet容器,过滤器依赖与servlet容器。
-
拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。
-
拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。
-
在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次。
-
拦截器可以获取IOC容器中的各个bean,而过滤器就不行,这点很重要。在拦截器里注入一个 service 对象,可以调用业务层逻辑。
-
-
延迟加载:就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据。延迟加载也称懒加载
-
Mybatis缓存
- 实现原理:是从数据库中查询出来的对象在使用完后不要销毁,而是存储在内存(缓存)中,当再次需要获取该对象时,直接从内存(缓存)中直接获取,不再向数据库执行select语句,从而减少了对数据库的查询次数,因此提高了数据库的性能。缓存使用Map集合缓存数据
- 一级缓存:一级缓存是 SqlSession 范围的缓存,当调用 SqlSession 的修改,添加,删除,commit(),close()等方法时,就会清空一级缓存。防止后续查询发生脏读(脏读:查询到过期的数据)
- 二级缓存: 二级缓存是 mapper 映射级别的缓存,多个 SqlSession 去操作同一个 Mapper 映射的 sql 语句,多个SqlSession 可以共用二级缓存,二级缓存是跨 SqlSession 的。
(二) JavaScript
1.JavaScript:
1.作用,优点:用于与用户进行交互,是一种轻量级的编程语言,可插入 HTML 页面,插入 HTML 页面后,可由所有的现代浏览器执行,兼顾函数式编程和面向对象编程
-
编写方式
-
HTML内部,在
-