本笔记来自b站尚硅谷
文章目录
Mybatis
模糊查询的三种方式
${}的用法
批量删除
表名
#{}会变成占位符 ? 会自动加‘ ’ ${} 就直接解析
主键
多对一分步查询 优点
可以开启延迟加载 就是懒加载 配置一个就够了 但是跟两个都有关系 另一个是默认值 所以可以不用配置
效果就是只执行一条SQL语句
配置到配置文件中就是全局懒加载,想让某一条sql 立即加载就要配置fetchType
批量添加
两种批量删除的方式
扩展
idea怎么看类的继承关系 ctrl + h
idea怎么看方法要传的参数 ctrl+q 或者 ctrl+p
Spring
Bean的生命周期
代理模式
AOP的实现就是动态代理
静态代理
动态代理
AOP是一种设计思想,面向切面编程
横切关注点: 从每个方法抽取出来的同一类非核心业务
通知: 每一个横切关注点要做的事情都需要写一个方法来实现,这样的方法就叫通知方法
切面 : 就是 封装通知方法的类
目标: 被代理的目标对象
代理: 向目标对象应用通知之后创建的代理对象
连接点: 一个纯逻辑概念,抽取横切关注点的位置
切入点: 定位连接点的方式
切面的优先级
有两个切面同时作用在同一个类中,用@Order来设置优先级
小知识点
数据库 unsigned 约束 无符号 就是非负数
事务
@Transactional( readOnly = true ) #只读 默认false
@Transactional( timeOut = 3 ) #超时时间 3s
rollback 还可以设置回滚策略
isolation 还可以设置隔离级别
事务的传播行为
结账(有事务) 买2本书(有事务) 但钱只够买一本 回滚的是 结账的事务
改成买书的事务 @Transactional(propagation=propagation.REQUIRES.NEW)
这样子就可以能买几本买几本
Springmvc
springMVC是spring的一个后续产品,是spring的一个子项目
params属性
三种携带数据的方式
视图控制器
xml配置异常处理
使用注解处理异常