配置Mysql与注册登录模块
整个框架的模型
工程就是对字符串的处理。
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的`
<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这个类
mapper层
将class里的增删改查(crud)转换成sql语句
在mapper中添加类UserMapper,我们通过使用MyBatis-plus可以避免使用sql语句。
service层
实现具体业务。
controller层
调度service层。
最后的是返回查询所有用户。
在MyBatis-Plus官网中我们可以查询到返回所有用户。
封装条件构造器QueryWrapper,可以调用api。
实现范围遍历
ge是大于等于,le是小于等于;gt是大于,lt是等于。
如上图是一个错误的示范,只返回了一个,然而这个范围却不止一个。
正确的如下:(将One改为List)
插入一条数据
通过post实现如下
(@PathVariable是spring3.0的一个新功能:接收请求路径中占位符的值)
删除数据
userController
其中@RequestMapping可以映射所有的,除此之外还有@GetMapping和@PostMapping。
target中就是编译完后的结果
配置授权机制(用户安全)
在Maven仓库中添加完相关依赖后,再次打开原来的页面会显示一个登陆窗口:
默认用户名是user,密码会每次编译后自动生成
/logout是退出页面
不再使用默认登陆
键盘上的alt+insert键可以快速插入
session
数据库里会存sessionID是谁。
如果使用数据库一定要加上Autowired
在密码前加上{noop}让数据库知道并未加密
加密
encode 将明文转化为密文
matches 判断明文与密文是否匹配
我们在test类中进行加密,加密后的密文会出现在这里
接下来我们可以通过matches判断是否匹配
如果在这里显示true就是匹配,false就是不匹配。
这个时候,我们再回到登陆页面只能通过密文进行登陆。为了解决这种问题,我们可以将数据库中的password改为对应的密文。
之后我们设置自动生成密文
……