Wrapper的两个子类
1.QueryWrapper<T> 作为where条件子句的构造器
2.UpdateWrapper<T> 作为set子句的构造器
IPage 分页器接口
1.Page 类
不同数据库的分页的SQL语句不一样,你需要告诉框架你用的是什么数据库
MySQL:limit ?,?
Oracle:基于rownum做子查询
在启动类中添加下面的方法,即可告诉MyBatis,我们使用的是MySQL数据库
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.MYSQL);
mybatisPlusInterceptor.addInnerInterceptor(paginationInnerInterceptor);
return mybatisPlusInterceptor;
}
安装lombok依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
Spring框架两大核心模块
IOC&DI
inversion Of Control 控制反转(基于反射在运行时发现组件类和注册对象的过程)
发现:运行时让IOC容器发现组件类
1.组件类的包层级不能高于启动类,只能小于等于
2.组件类上需要有IOC注解
注册:发现后就会触发注册,注册就是创建对象放入到IOC容器
Dependency Injection 依赖注入(赋值的过程)
注入:在运行时,从IOC容器中找到与指针相匹配的对象赋值给指针的过程
发现 --> 注册 --》发现
具有IOC功能的注解
1.@Controller/@RestController
用于控制器层类的发现和注册
2.@Service
用于Service层类的发现和注册
3.@Repository
用于Dao层类的发现和注册
4.@Component
用于任意一个普通类的发现和注册
5.@MapperScan
用于扫描mapper包,在运行时创建接口的实现类,并注册对象到IOC容器
什么是控制权?
创建对象得控制权 new 控制方法()
为什么要反转?
高内聚低耦合
耦合 = 依赖(工程依赖工程、类依赖类)
componrnt组件(组成工程的元件,指的是类)
Bean/JavaBean 咖啡豆/组成(指的是对象/被IOC容器发现后创建的对象)
IOC的实现方式有几种
发现 -- 注册 -- 注入
1.基于xml文件实现(已经淘汰)
(1) 配置xml文件
(2)修改注解
2.基于注解实现
3.基于配置类实现
启动类就是一个配置类,任意一个带有@Configuration注解的类都可以是一个配置类
发现/注册 UserController
发现/注册 UserSerivce
在UserConttroller 中注入 Uservice
日志管理
Lombok三方库提供的注解
在编译时给字节码中动态生成内容
@Setter
@Getter
@AllArgsConstructor
@NoAragsConstructor
@EqualsAndHashCode
@ToString
@Data=(@Setter+@Getter+@EqualsAndHasnCode+@ToString)
@Slf4j(在编译后的字节码文件中会出现一个私有的静态常量)
类型是Logger 指针名叫log,这个就是用来打印日志文件的对象
需要在哪个类中打印日志,只需要给这个类添加@Slf4j注解,这个类中就会有一个log指针
private static final Logger log = LoggerFactory.getLogger(UserController.class);
在打印日志文件之前,需要先配置打印日志文件的规则
1.将日志配置文件放在resources目录中
2.在application.properties中告诉lombox框架日志配置文件在哪里
4j = for Java(为Java提供的)
B2C = Bussiness To Custom
设置日志级别
trace(追踪) < debug(调试) < info(信息) < warn(警告) < error(错误)
设置日志规则
使用log打印日志来替代System.out.println()
1.log打印的信息更多
日志打印时间 所在线程 所在类 日志信息
2.log可以按照级别打印日志
3.log可以打印到控制台,还可以打印到文件
4.log可以打印到控制台,还可以打印到文件
AOP
面向切面编程(Aspect Oriented Programming)
侵入式代码