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

相关推荐
惊讶的猫1 天前
探究StringBuilder和StringBuffer的线程安全问题
java·开发语言
jmxwzy1 天前
Spring全家桶
java·spring·rpc
Halo_tjn1 天前
基于封装的专项 知识点
java·前端·python·算法
Fleshy数模1 天前
从数据获取到突破限制:Python爬虫进阶实战全攻略
java·开发语言
像少年啦飞驰点、1 天前
零基础入门 Spring Boot:从“Hello World”到可上线的 Web 应用全闭环指南
java·spring boot·web开发·编程入门·后端开发
苍煜1 天前
万字详解Maven打包策略:从基础插件到多模块实战
java·maven
有来技术1 天前
Spring Boot 4 + Vue3 企业级多租户 SaaS:从共享 Schema 架构到商业化套餐设计
java·vue.js·spring boot·后端
东东5161 天前
xxx医患档案管理系统
java·spring boot·vue·毕业设计·智慧城市
东东5161 天前
学院个人信息管理系统 (springboot+vue)
vue.js·spring boot·后端·个人开发·毕设
一个响当当的名号1 天前
lectrue9 索引并发控制
java·开发语言·数据库