整个框架的模型

整个框架的模型

工程就是对字符串的处理。

MySQL的安装与使用

软件默认储存在了C盘的Program Files,数据储存在了Program Data。
cd “C:\Program Files\MySQL\MySQL Server 8.0\bin” 进入之后运行Mysql的命令mysql –version。
配置Path环境变量:我的电脑-属性-高级-环境变量-Path(上面的是当前用户,下面的是所有用户都能访问)-新建-将bin放进去-之后就可以在各个情况下使用mysql 。
注意:如果电脑上有多个mysql的版本需要在配置环境变量时将需要显示的那个的bin目录上移。
用管理员权限运行powershell后输入net stop mysql80就可以停止,输入net start mysql80启动服务。

登录自己的mysql

mysql -uroot -P端口号 -p密码

常用指令

show databases;
create databases 名称;
use 名称; 使用数据库
drop 名称; 删除数据库

show tables; 显示表
create table 名称(属性1 类型1,); –常见的属性有id,用户名,密码;varchar需要在括号中加上长度
drop table 名称; 删除表

insert into 名称 values(,‘’,‘’); –在想插入的表中插入数据
select * from 名称; 查询数据
select * from 名称 where 条件; 查询单个
delete from 名称 where 条件; 删除

键盘上的上下方向键可以试试

连接数据库

打开Idea,选择连接数据库,点击移出可以删除已有数据库,其中数据库填自己创建的,组建选择默认组建。
测试连接成功后就可以在Idea中修改数据,其中点击+可以增加表中的数据,点击向上的箭头可以上传数据,点击刷新可以更新数据。
点击新建列可以增加一列。

添加依赖

https://mvnrepository.com/(maven仓库)中搜索所需,添加到pom.xml的``中,之后点击最右侧的Maven选择刷新。

<dependency> 
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-jdbc</artifactId>
           <version>2.7.1</version>
       </dependency>

       <dependency>
           <groupId>org.projectlombok</groupId>
           <artifactId>lombok</artifactId>
           <version>1.18.24</version>
           <scope>provided</scope>
       </dependency>

       <dependency>
           <groupId>mysql</groupId>
           <artifactId>mysql-connector-java</artifactId>
           <version>8.0.29</version>
       </dependency>

       <dependency>
           <groupId>com.baomidou</groupId>
           <artifactId>mybatis-plus-generator</artifactId>
           <version>3.5.3</version>
       </dependency>


       <dependency>
           <groupId>com.baomidou</groupId>
           <artifactId>mybatis-plus-boot-starter</artifactId>
           <version>3.5.2</version>
       </dependency>

       <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-security</artifactId>
           <version>2.7.1</version>
       </dependency>

application.propeties

在application.properities中添加
serve.port=3000

spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://localhost:3306/kob?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

解决空的中间软件包被自动压缩的问题

点击设置-树外观,关闭压缩空的中间软件包。

SpringBoot中常用文件夹概念

pojo层

将数据库中的table直接翻译成Java中的class

在pojo中加入User这个类
pojo

mapper层

将class里的增删改查(crud)转换成sql语句

在mapper中添加类UserMapper,我们通过使用MyBatis-plus可以避免使用sql语句。
mapper

service层

实现具体业务。

controller层

调度service层。
用到数据库的Maaper
返回用户的所有
最后的是返回查询所有用户。MyBatis-Plus
在MyBatis-Plus官网中我们可以查询到返回所有用户。
封装条件构造器QueryWrapper,可以调用api。
查询某一个用户id

实现范围遍历

ge是大于等于,le是小于等于;gt是大于,lt是等于。
在这里插入图片描述
如上图是一个错误的示范,只返回了一个,然而这个范围却不止一个。
正确的如下:(将One改为List)
在这里插入图片描述

插入一条数据

通过post实现如下
插入数据
(@PathVariable是spring3.0的一个新功能:接收请求路径中占位符的值)

删除数据

删除数据

userController

其中@RequestMapping可以映射所有的,除此之外还有@GetMapping和@PostMapping。

target中就是编译完后的结果

配置授权机制(用户安全)

在Maven仓库中添加完相关依赖后,再次打开原来的页面会显示一个登陆窗口:
登陆
默认用户名是user,密码会每次编译后自动生成
password
/logout是退出页面
退出页面

不再使用默认登陆

键盘上的alt+insert键可以快速插入

自动生成方法

session

session
数据库里会存sessionID是谁。
在这里插入图片描述
如果使用数据库一定要加上Autowired
在这里插入图片描述
在密码前加上{noop}让数据库知道并未加密

加密

加密
encode 将明文转化为密文
matches 判断明文与密文是否匹配
在这里插入图片描述
我们在test类中进行加密,加密后的密文会出现在这里
密文

接下来我们可以通过matches判断是否匹配在这里插入图片描述
如果在这里显示true就是匹配,false就是不匹配。
在这里插入图片描述
这个时候,我们再回到登陆页面只能通过密文进行登陆。为了解决这种问题,我们可以将数据库中的password改为对应的密文。
之后我们设置自动生成密文
……