ssm-day07 springboot3、Mybatis-Plus、springboot实战

springBoot3

早期没有暴露spring要写很多配置文件的缺点,因为是单体项目(就是一个工程就对应一个项目)

后期的微服务项目(把之前的单体项目进行服务化拆分),就要写n次整合文件

springboot是为了快速搭建一个spring项目,目的是少写或者不写配置文件就可以使用spring架构

总言之,一个快速启动框架

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

@SpringBootApplication 这个注解

1. 自己是一个配置类

2.自动加载其他启动器配置类(ioc)

3.本身会扫描启动类所在的包和子包的ioc和di注解

后期学springboot就学它整合对应的第三方框架【SpringMVC、Druid数据源、Mybatis】

可能会写一些配置文件,比如连接数据库,得有(账号、密码、url、driver)这些信息

  1. springboot是进行统一配置文件管理的

  2. 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实体类

相关推荐
玉宇夕落4 分钟前
背单词项目一:融会贯通:从零构建"单词大师"后台——Next.js + Supabase + Drizzle 全栈开发实战
后端
ZGG0037 分钟前
MySQL 索引详解:B+ 树、聚簇索引与最左前缀
java·数据库·mysql
橙序员小站10 分钟前
从 Demo 到生产:Agent Harness 如何把 AI 真正“接”进项目
后端·aigc·ai编程
萧瑟余晖16 分钟前
Java深入解析篇五十四之对象模型详解
java·开发语言
她的男孩26 分钟前
一个开源低代码框架的协作 SPI 是怎么设计的 ForgeAdmin 拆解 + 实战接入新平台
后端·算法·架构
蓝山61627 分钟前
Python 字典(Dictionary)完全指南:从入门到实战
后端
foggyprojects34 分钟前
在 DeepSeek Harness 里跑通 Foggy:从安装插件到第一次问数
后端
张文是假的啊35 分钟前
Java | record | Controller逻辑
java·开发语言
勿忘,瞬间41 分钟前
Mybatis高阶
java·数据库·mybatis
不甘先生1 小时前
Go 中 type、方法与指针接收者:从 str_name.Name() 看懂 Go 的类型系统
开发语言·后端·golang