springboot框架课学习笔记: 第四讲 配置 mysql 与注册登录模块(上)-- 拓展用到的依赖
这节课主要讲后端设计 -- springboot ,MySQL。
- springboot 的角色是什么?作为后端,处理用户的请求。处理过程中可能会用到数据库,与 MySQL 交互
Lombok 依赖 参考文章 https://juejin.cn/post/7102785140979400735
Lombok 有什么作用?
- 有时候代码会过于冗长,在实体类中,经常写很多
getter,setter方法。
使用Lombok可以简化代码,将 Java 字节码自动编译到class文件
Lombok 配置 scope是provided状态,此状态表示此依赖只在编译与测试时有效,当我们项目打包成*.jar的时候并不会打入进去。- 聚合注解 如下

springboot的常用模块
pojo层 将数据库中的表 对应成Java中的classmapper层 (也叫 dao 层) 将 对class的操作映射成sql语句service层 写具体的业务逻辑, 组合使用mapper中的操作controller层 负责请求转发,接受页面过来的参数,传给service处理,接到返回值,再传给页面
Mapper 层注解 参考文档 https://blog.csdn.net/u012060033/article/details/128040322
Mapper 层经常使用的注解?
-
Mapper层注解@Reponsitory和@Mapper- @Repository :@Repository的作用与@Controller,@Service的作用都是把对象交给Spring管理。
@Repository是标注在Dao层接口上,作用是将接口的一个实现类交给Spring管理。 - @Mapper 这个注解一般使用在Dao层接口上,相当于一个mapper.xml文件,它的作用就是将接口生成一个动态代理类。
加入了@Mapper注解,目的就是为了不再写mapper映射文件。这个注解就是用来映射mapper.xml文件的。- 动态代理 : 可以使用某一类的属性或者方法
- @Param : 一般使用 @Param 解决接口绑定多参数的传递。动态代理接口向映射文件中传递参数的时候,会使用
@Param注解,
并且如果动态代理接口使用了@Param这个注解,那么映射文件中的标签中可以不用写parameterType属性,可以直接接收@Param中传递来的参数值
- @Repository :@Repository的作用与@Controller,@Service的作用都是把对象交给Spring管理。
@PathVariablee 注解。 参考文档 https://www.cnblogs.com/chenxu1997/p/12712397.html
这个注解有什么作用?
- 映射
URL绑定的占位符。 - 通常与
@RequestMapping一起使用
@PathVariablee 与 @PathParam 区别
- 参考文档https://juejin.cn/post/6995550778224017438
- 相同点 : 两者都可以接受参数
- 不同点
@PathVariable通过URL模版来填充@RequestParam从 request 中接收请求
使用 \(MyBatis-Plus\) 连接 MySQL 过程 https://blog.csdn.net/weixin_40769819/article/details/129343001
-
- 添加 \(MyBatis-Plus\) 依赖
-
- 设置数据库连接 易错点。记得更改成自己的数据库
-
- 添加实体类
-
- 添加
mapper类
- 添加
-
- 写一个简单的
controller, 测试基本操作
- 写一个简单的
以上内容为二刷
SpringBoot的角色是用来处理用户请求
数据存到Mysql里面,Mysql本质上就是算法题里面的数组
mysql服务的关闭与启动(默认开机自动启动,如果想手动操作,可以参考如下命令)
- 关闭:net stop mysql80
- 启动:net start mysql80
mysql的常用操作
- 连接用户名为root,密码为123456的数据库服务:mysql -uroot -p123456
- show databases;:列出所有数据库
- create database kob;:创建数据库
- drop database kob;:删除数据库
- use kob;:使用数据库kob
- show tables;:列出当前数据库的所有表
- create table user(id int, username varchar(100)):创建名称为user的表,表中包含id和username两个属性。
- drop table user;:删除表
- insert into user values(1, 'yxc');:在表中插入数据
- select * from user;:查询表中所有数据
- delete from user where id = 2;:删除某行数据
使用MySQL记得加分号

常用操作
1. insert into user values(2,'b','pb');
2. select * from user;
3. delete from user where id=3;
Lombok 可以简化代码量,写一些简单的构造函数

点击此处,回看历史版本

y总解释前后端分离。web端传送固定数据,然后服务器端填充具体信息(可能以数组的形式)
将之前后端框架改成maven,然后发现还是iml文件。首先解决打开终端问题,然后添加iml文件
mvn idea:module 添加mvn文件失败,然后搜索maven报错 there is no POM in this directory 。强制刷新maven
遇到找不到依赖项的错误:清空缓存,重新刷新
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/com.mysql/mysql-connector-j -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.0.31</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-generator -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.3</version>
</dependency>
controller 文件夹存放所有的后端函数
前后端不分离的写法。controller 文件夹写后端函数。resource下的template写对应的html文件

实现pojo,将table转化成class。mapper继承pojo

几个层的实现。
y总金句:门槛越高,工资越高
复习 解决跨域问题:前端接口获取后端数据。在后端cofig创建配置类
使用数据库 Autoweired
同一个类 重载 ,不同的类 重写
重写是对已有参数列表相同的同名方法重写
重载是对已有方法再多写一个同名但不同参数列表的方法
Ctrl + O 查看我们继承的类或者接口中的方法,以及我们要实现的方法
@Data
@NoArgsConstructor
@AllArgsConstructor
实现构造函数
Autowired 注解 前面要加上 Service
**数据库密码明文 {noop} **
工程课的本质 字符串处理

浙公网安备 33010602011771号