springboot框架课学习笔记: 第四讲 配置 mysql 与注册登录模块(上)-- 拓展用到的依赖

这节课主要讲后端设计 -- springboot ,MySQL。

  • springboot 的角色是什么?作为后端,处理用户的请求。处理过程中可能会用到数据库,与 MySQL 交互

Lombok 依赖 参考文章 https://juejin.cn/post/7102785140979400735

Lombok 有什么作用?

  • 有时候代码会过于冗长,在实体类中,经常写很多 getter, setter 方法。
    使用 Lombok 可以简化代码,将 Java 字节码自动编译到 class文件
    Lombok 配置
  • scopeprovided 状态,此状态表示此依赖只在编译与测试时有效,当我们项目打包成 *.jar 的时候并不会打入进去。
  • 聚合注解 如下

springboot的常用模块

  • pojo 层 将数据库中的表 对应成 Java 中的 class
  • mapper 层 (也叫 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中传递来的参数值

@PathVariablee 注解。 参考文档 https://www.cnblogs.com/chenxu1997/p/12712397.html
这个注解有什么作用?

  • 映射 URL 绑定的占位符。
  • 通常与 @RequestMapping 一起使用

@PathVariablee@PathParam 区别


使用 \(MyBatis-Plus\) 连接 MySQL 过程 https://blog.csdn.net/weixin_40769819/article/details/129343001

    1. 添加 \(MyBatis-Plus\) 依赖
    1. 设置数据库连接 易错点。记得更改成自己的数据库
    1. 添加实体类
    1. 添加 mapper
    1. 写一个简单的 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} **
工程课的本质 字符串处理

posted @ 2022-12-31 22:13  安半愚  阅读(135)  评论(0)    收藏  举报