springBoot3
早期没有暴露spring要写很多配置文件的缺点,因为是单体项目(就是一个工程就对应一个项目)
后期的微服务项目(把之前的单体项目进行服务化拆分),就要写n次整合文件
springboot是为了快速搭建一个spring项目,目的是少写或者不写配置文件就可以使用spring架构
总言之,一个快速启动框架

web启动器依赖相当于多个依赖的整合包


@SpringBootApplication 这个注解
1. 自己是一个配置类
2.自动加载其他启动器配置类(ioc)
3.本身会扫描启动类所在的包和子包的ioc和di注解

后期学springboot就学它整合对应的第三方框架【SpringMVC、Druid数据源、Mybatis】
可能会写一些配置文件,比如连接数据库,得有(账号、密码、url、driver)这些信息


-
springboot是进行统一配置文件管理的
-
key有两种(规定好的和自定义),自定义key可以通过@Value去读取
application.properties格式

application.yaml(yml)格式
语法精简,层次清晰

示例 语法格式

@Value注解?动作叫di注入?要想注入必须本身在ioc容器中




多环境配置作用:
1.开发环境参数不同,可以配置
2.不同框架参数写到不同配置文件中,指定配置激活生效

SpringBoot项目最后会打成一个jar包,在执行jar时,可以添加一个参数active,在启动项目的时候去动态指定激活哪个配置
springboot3整合springmvc


拦截器这块是真的懵


springboot3整合Druid数据源
一般会整合两个功能:
1.数据库的连接池功能
2.监控页面?
jdbc还是要看一下


兼容问题
springboot3整合Mybatis



1.导入依赖
2.编写配置文件

我哩个aop忘光
事务和aop(1.导依赖 2.加注解)


1.导插件 2.选择周期package

无原理纯使用
MyBatis-Plus
对MyBatis框架的增强和简化
之前单表的增删改查(crud)要写mapper接口和对应的xml文件
MyBatis-Plus不仅提供数据库操作的方法,也会提供sql语句的实现(全自动ORM类型持久层框架)
要创建一个空工程(Emply Project),因为boot工程它的父工程都是springboot
【弹幕】第一个空项目你就当成一个文件夹,后面创建模块时再

BaseMapper是由mybatis-plus提供的,里面有单表的增删改查等等方法
这个泛型指的就是要对哪实体类进行操作



驼峰式默认就是true,不用配了
Wrapper对象:指的是内部可以封装条件

为啥是1L?? (解答:因为是Long型)

update当属性值为null的时候,不修改。
例如上面没传name属性,就不修改。
声明实体类的时候,使用包装类型。因为包装数据类型不赋值就是空。


service层添加的方法多了一些差异化
mapper层重点是对单条数据的操作


所以是两步实现
【弹幕】子类UserServiceImpl 继承已有的实现类ServiceImpl(复用),并且implements UserService(保证装配时能够找到UserServiceImpl)


讲义上的方法可能不太全,可以去官网看
【弹幕】UserService中有IService的一半的实现的方法, 和自定义的方法, UserServiceImp中有IService全部的实现方法和UserService中自定义的方法, 所以还用接口接


这些方法应该会在写具体的业务功能时用到
是业务命名



查询方法中有分页查询,即传一个页数相关的记录对象,內部就可以帮我们进行分页

先配一个拦截器
mybatis分页回顾

mybatis-plus提供了一个插件集合MybatisPlusInterceptor
步骤:
1.配置分页插件
DbType别导错包,是mybatis-plus的

2.在方法中使用

先创建一个配置类对象,指定实体类,在里面封装页码和页容量
到这块已经非常迷瞪了 啥意思看不懂
自定义插件方法
1.先自己写一个方法,如下
2.然后在mapper.xml中写一个实现,即sql语句

创建mapper.xml文件时,mybatis-plus不用再额外指定位置


写sql语句的时候不要用;结尾,不用管limit
p158
条件构造器使用
Wrapper对象拼接各种条件

orm
ORM(Object-Relational Mapping,对象关系映射) 是一种编程技术,用于在 面向对象编程语言 和 关系型数据库 之间建立映射关系。它的核心目的是解决对象(类、实例)与数据库表(行、列)之间的不匹配问题,让开发者可以用面向对象的方式操作数据库,而无需直接编写 SQL 语句。


会基本的拼接(链式调用),排序、删除、查询
简单的用QueryWrapper,特别复杂的可以自定义sql语句更简便(n层嵌套语句)

LambdaQueryWrapper是对QueryWrapper的增强,允许在第一个位置去传一个方法引用
jdk8的新特性:方法引用和lambda表达式
springboot实战-微头条实战
案例介绍:这个项目有哪些功能,用到什么技术栈
jwt验证?token?

后端工程搭建
数据库脚本执行
搭建SpringBoot工程
MybatisX逆向工程
通过逆向工程插件生成数据库对应的mapper、service、pojo实体类
