zhang лет назад: 2
Родитель
Сommit
498e77f3a0
2 измененных файлов с 147 добавлено и 0 удалено
  1. 97 0
      张晓宇日记/22-05月学习笔记.md
  2. 50 0
      张晓宇日记/22-06月学习笔记.md

+ 97 - 0
张晓宇日记/22-05月学习笔记.md

@@ -0,0 +1,97 @@
1
+* 05-04
2
+    * Spring配置数据源
3
+        * 数据源连接池的作用
4
+        * Spring配置数据源
5
+        * Spring 容器加载properties配置文件
6
+    * Spring原始注解
7
+* 05-05
8
+    * AutoWired注解以及value注解的使用
9
+    * spring原始注解的使用 @Component @qualifier等
10
+* 05-06
11
+    * Spring 新注解
12
+        * 使用上面注解无法全部替代xml文件
13
+            * 非自定义的Bean配置
14
+            * 加载properties文件
15
+            * 组件的扫描
16
+            * 引入其他文件
17
+    * 新注解 
18
+        * Configuration、ComponentScan、Bean、PropertySource、Import
19
+    * 将之前的 context xml文件替代,使用新注解的形式
20
+* 05-11
21
+    * Spring集成web环境
22
+        * servletContext、ContextLoadListener的使用
23
+        * 配置 ContextLoadListener 监听器
24
+        * 使用 WebApplicationContextUtils获取 应用上下文
25
+    * SpringMvc 概述简介
26
+* 05-12
27
+    * RequestMapping 注解
28
+        * 注解放在类上或者方法上
29
+        * 参数 value、method、params params={"user"}表示参数中必须传入 user字段
30
+    * SpringMVC XML配置
31
+        * 转发与重定向  
32
+            ``` java
33
+                return "forward:success.jsp";
34
+                return "redirect:success.jsp";
35
+            ```
36
+    * SpringMVC数据响应方式
37
+        * 页面展示(转发,重定向)
38
+        * 回写数据(返回字符串或者 json对象)
39
+* 05-16
40
+    * SpringMVC获取请求数据,SpringMVC可以获取如下类型参数
41
+        * 基本数据类型、 pojo类型参数、数组类型参数、集合类型参数
42
+    * RequestBody  RequestParam注解 
43
+        * @RequestParam(name = "Name1",required = false,defaultValue="1")
44
+    * 获取Restful风格的参数
45
+        ```java
46
+            // http://localhost:8083/rest1/zxy/19
47
+            @RequestMapping("/rest1/{name}/{age}")
48
+        ```
49
+    * 自定义类型转换器(以时间转换器为例)
50
+        * 定义转换器需实现Converter接口
51
+        * 在配置文件中声明转换器
52
+        * 在<annotation-driver>中引用转换器
53
+    * 获取Servlet相关的API 常用的如下
54
+        * HttpServletRequest
55
+        * HttpServletResponse
56
+        * HttpSession
57
+    * 获取请求头
58
+        * @RequestHeader
59
+* 05-17
60
+    * 接收文件上传的请求以及处理
61
+* 05-19
62
+    * jdbcTemplate使用
63
+* 05-22
64
+    * jdbcTemplate产生模板对象实现
65
+    * jdbcTemplate常用操作
66
+        ``` java
67
+            // 更新操作 成功返回影响行数
68
+            int row = jdbcTemplate.update("insert into `wb_tbl_a`(company_id,status) values (?,?)", 100, 100);
69
+            // 查询多个
70
+            List<AEntity> query = jdbcTemplate.query("select * from wb_tbl_a",
71
+                new BeanPropertyRowMapper<AEntity>(AEntity.class));
72
+            // 查询单个
73
+            AEntity entity = jdbcTemplate.queryForObjet("select * from wb_tbl_a where id =?",
74
+                new BeanPropertyRowMapper<AEntity>(AEntity.class),"10");
75
+        ```
76
+* 05-23
77
+    * Spring 环境构建
78
+       * spring-test项目资源引入,
79
+* 05-24
80
+    * Interceptor(拦截器)与filter(过滤器)
81
+        * Interceptor 作用于 springMvc项目中
82
+        * filter 作用于 javaWeb中
83
+        * 一般使用拦截器能实现的功能,同样使用filter也能实现
84
+* 05-25
85
+    * 拦截器 preHandle、postHandle的使用
86
+    * 在spring_test 项目中添加 拦截器
87
+* 05-26
88
+    * 异常处理 HandlerExceptionResolver
89
+* 05-29 
90
+    * 异常处理机制 MVC配置等
91
+    * AOP原理 底层实现
92
+        * AOP 动态代理技术
93
+            * JDK代理,基于接口的动态代理
94
+            * cglib:基于父类的动态代理
95
+
96
+
97
+

+ 50 - 0
张晓宇日记/22-06月学习笔记.md

@@ -0,0 +1,50 @@
1
+* 06-05
2
+    * 将剩余的AOP逻辑使用注解的形式实现
3
+    * Spring中事务demo
4
+* 06-06
5
+    * 韩顺平 mysql教程 使用索引视频
6
+        * 创建索引表的磁盘空间会变大 以视频为例 800万条数据从 524M加了索引大概大小变成655M左右 (空间换时间)
7
+        * 根据索引最左匹配原则 使用 like x% 查询是可以用得到索引的,而使用 like %x% 和 like %x 查询是用不到索引的
8
+        * 为什么使用索引会快?
9
+            * 形成一个索引的数据结构比如二叉树
10
+        * 为什么没有索引会慢?
11
+            * 因为全表扫描
12
+        * 索引对 增删改语句有效率影响(modify操作会影响索引结构所以对速度会有影响)
13
+        * mysql表类型和存储引擎(innoDB、MyISAM等)
14
+* 06-08
15
+    * mysql事务操作
16
+        ```sql
17
+            start transaction;
18
+            savepoint a;
19
+            INSERT into wb_tbl_a (`company_id`) value(105);
20
+            rollback to a;
21
+            SELECT * from wb_tbl_a; 
22
+            commit;
23
+        ```
24
+    * mysql开启事务语句
25
+        * start transaction; 、 set autocommit=false;
26
+    * mysql事务隔离级别(定义事务与事务之间的隔离程度)
27
+        * 多个连接开启各自事务操作数据库数据时,数据库要负责隔离操作,来保证各个连接取到的数据是准确的
28
+        * 开发中不考虑隔离性 会引发 脏读、不可读、幻读
29
+            * 脏读:一个事务读取另一个尚未提交的修改时,产生脏读
30
+            * 不可重复读:同一查询在同一事务中多次进行,由于其他提交事务所做的修改或者删除,每次产生不同的结果集,此时发生不可重复读
31
+            * 幻读:同一查询在同一事务中多次进行,由于其他提交事务所做的插入操作,每次返回不同的结果集,此时产生幻读
32
+        * 设置数据隔离语句以及查询语句
33
+            ```sql
34
+                --mysql 5 -- 
35
+                select @@tx_isolation;
36
+                -- mysql8 --
37
+                SELECT @@transaction_isolation;
38
+                --设置隔离级别--
39
+                set session transaction isolation level read uncommitted;
40
+            ```
41
+* 06-09
42
+    * mysql事务隔离级别
43
+        * 读未提交( read uncommitted)(不加锁)
44
+        * 读已提交( read committed)(不加锁)
45
+        * 可重复读 (repeatable read)(不加锁)
46
+        * 可串行化 (serializable)(加锁)
47
+    * 存储引擎
48
+        * innodb (支持行锁、支持事务,支持外键)
49
+        * myisam (支持表锁,不支持事务,CRUD速度很快,不支持外键)
50
+        * memory (数据存储在内存中,执行速度很快(没有IO读写),默认支持索引,重启服务数据会丢失(表结构还在))