- 使用service 和 dao controller 解耦代码
- 引入4种注解
- @Controller
- @Service
- @Reponsity
- @Component
- 如何在idea中查看端点数据,看到ico容器中管理的bean对象
- beacn对象中的名称
- 介绍了@AutoWried注解
- 这注解是spring提供的
- 这个注解是按照类型注入
- 如果多个相同类型的注解,怎么解决报错
- 引入了3种方案
- @Primary 作用与类上
- @AutoWired + @Qualifier("bean的名称")
- @Resource 注解,这个注解是jdk提供的,按照名称注入
- show databases;
- select database();
- use 使用数据库
- 删除数据库
- 创建数据库
- 主要使用idea自带的数据库工具
- 使用datgroup 的控制台创建一张表
- 5个约束条件
- 使用单引号
- DML
- 新增数据
- 修改数据
- 删除数据
- 就是单表的基本查询
- 前面6分钟啰里八嗦说一大堆,后面就说了下单表查询的基本语法
- 条件查询有2种运算符
- 比较运算符
- 4个特殊的
-范围
- 模糊
- 最大值 最小值
- 不等于null
- 逻辑运算符
- 聚合函数的学习
- 5个聚合函数
- 聚合函数3种使用方法
- 聚合函数不能查询null的注意事项
- 分组查询和聚合函数的应用
- 分组后条件的应用
- 涉及到2个MySQL流程处理函数
- if
- case
- 基本查询-引出了数学概念 笛卡尔积, 也就是需要查询条件
- 连接查询
- 子查询
- 连接查询
- 内连接
- 隐式内连接
- 显式内连接
- 外连接
- 左外连接
- 右外连接 ,也可以转成左外连接
- 入门
- crud
- 动态sql
- 配置sql等语法提示
---------------------- 20230929 学习 ------------------------
- 介绍jdbc只是一套接口规范
- 缺点,以及对比Mybatis的一些优点
- 数据库连接池
- 配置文件打开mybatis 日志,将日志输出到控制台
- 预编译sql性能更好
- delete from emp where id = 1
- delete from emp where id = 2
- 上面这样sql每次都需要分析sql 然后优化然后做编译最后缓存
- 防止sql注入
- #{}
- ${} 拼接sql 存在sql注入风险
---------------------- 20230930 学习 ------------------------
- 返回的主键一般使用,会存到rides里面
- 常规sql更新
- 存在字段和属性名,导致不一致无法封装到实体类对象中
- 还有一个很重要,就是查询是有返回值的,如果返回类型void是会报错的
- 解释了在springboot1.x 和单独使用mybatis时候的注解@Param('name')
- like 模糊匹配会引发#{}不能在引号里面的问题,使用mysql concat函数代替
- xml文件名需要和mapper接口名一致,并且需要保持同包同名
- xml文件的namespace需要是包的全限定名
- xml预计中的id要和mapper接口中的方法名保持一致
---------------------- 20231001 学习 ------------------------
- if标签 + test 属性判断
- where 标签
---------------------- 20231002 学习 ------------------------
- 内容就是更新员工信息,利用set标签删除条件列表后面的逗号
- 这节课主要说了mybatis如何批量处理一些东西,比如批量删除员工
- 分2个mapper
- 一个查询count
- 一个查询分页
- 合并到一个bean中
- 使用分页直接查
- 分页部分继续使用插件
- 剩下动态sql使用xml查询
---------------------- 20231021 学习 ------------------------
可以将一些配置写在配置文件中,这样可以防止配置信息硬编码
---------------------- 20231023 学习 ------------------------
- 会话技术介绍
- 会话跟踪的3种方案
- 客户端cookie
- 服务端session
- 令牌token
---------------------- 20231028 学习 ------------------------
-
全局异常处理
-
spring事务管理
- 自己实现事务
- @Transactional 默认情况下只有RuntimeException才会回滚
- 事务的传播行为
- a开启事务,然后在a中调用b,b也有事务注解,这时候就会出现事务的传播行为
- 比如日志记录,想要成功或者失败都要执行记录日志操作
- a开启事务,然后在a中调用b,b也有事务注解,这时候就会出现事务的传播行为
-
什么是AOP 面向切面编程
- 使用场景
- 日志记录
- 权限控制
- 事务管理
- 使用场景
-
通知类型
-
通知顺序
- @Order (加载类上) 可以用这个,进行排序线执行,默认是按照字母数字顺序执行
-
切入点表达式
- execution
- within
- this
- target
- args
- @target
- @args
- @within
- @annotation 需要自定义注解
- bean
-
连接点
---------------------- 20231030 学习 ------------------------
- 通过注解完成日志记录
- 配置的优先级
- bean的获取
- bean的获取
- 第三方bean
- 使用配置定定义第三方@bean
---------------------- 20231031 学习 ------------------------
- springBoot起步依赖
- springBoot自动装配
- @ComponentScan() // 扫描自定义的bean
- @Import() // 导入类
- 导入普通类
- 导入配置类
- 导入ImportSelector接口的实现类
- @EnableXXXX 自定义注解,注解里面封装@Import注解