SpringBoot day03

商品表的增删改查

  • 创建商品表

use empdb;

create table product(id int primary key auto_increment,title varchar(100),price double(10,2),sale_count int)charset=utf8;

  1. 创建boot3-1工程 打3个勾
  1. 从别的工程中复制application.properties配置文件的信息到新工程, 启动工程测试是否成功.

同步请求和异步请求

  • 同步: 指单线程依次做几件事
  • 异步: 指多线程同时做几件事
  • 同步请求: 指客户端浏览器只有一个主线程, 此线程负责页面的渲染和发出请求等操作, 如果此主线程发出请求的话则停止渲染而且会清空页面显示的内容 直到服务器响应了数据后才能再次显示, 由于主线程清空了原有显示的内容所以只能实现页面的整体刷新(整体改变)
  • 异步请求: 指客户端的主线程只负责页面渲染相关操作,发请求的事儿由新的子线程操作, 这样子线程发出请求时页面不需要清空,而且可以将查询回来的数据展示在原有页面基础之上, 这样实现的效果就叫做页面的局部刷新

客户端发出请求的几种方式

  1. 通过浏览器的地址栏中发出请求 同步请求
  1. 通过html页面中的超链接发出请求 同步请求
  1. 通过html页面中的form表单发出请求 同步请求
  1. 通过前端框架发出请求 异步请求

客户端如何发出异步请求

  1. 通过Axios框架发出异步请求
  1. 此框架就是一个普通的js文件 页面需要使用此框架时需要将此文件引入到页面中

<script src="https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.min.js"></script>

Get请求和Post请求

  • 从字面意思理解, Get是跟服务器要数据, Post是给服务器传数据
  • Get: 请求参数写在请求地址的后面(可见),请求参数有大小限制只能穿几k的数据(不能处理文件上传)
  • 应用场景: 查询请求一般都会使用get, 删除也会使用get请求
  • Post:请求参数放在请求体里面(不可见),参数没有大小限制
  • 应用场景: 文件上传, 带有敏感信息的请求(比如注册登录时有密码)

注册登录步骤: 至少写3遍以上

  1. 创建工程boot3-2 打钩3个
  1. 从之前工程中复制application.properties里面的连接数据库的信息 ,复制完之后立即启动工程 测试是否创建成功, 如果工程启动不起来 检查报错是不是因为端口被占用, 如果不是 刷新maven 再次启动 ,如果还是启动不了 删除工程重新创建新工程 直至启动成功.
  1. 创建index.html页面 在里面添加两个超链接访问注册和登录页面
  1. 创建reg.html页面 在页面中引入vue和axios两个框架文件 从之前工程中复制js文件夹(检查里面是不是包含这两个框架文件) 在页面中 点击按钮时向/reg发出异步请求,同时把用户输入的信息提交给服务器,然后在then方法里面判断返回的response.data值为1代表注册成功 显示首页 值为2代表用户名已存在
  1. 创建controller.UserController 并且创建entity.User实体类
  1. 在Controller里面添加reg方法处理/reg请求 声明User变量用来接收传递过来的用户信息
  1. 创建mapper.UserMapper 在里面提供两个方法 分别是 selectByUsername 和 insert两个方法
  1. 回到Controller里面把UserMapper通过@Autowired装配进来,在reg方法中先调用mapper里面的selectByUsername方法 判断返回值是否有值 如果有值则给客户端返回2代表用户名已存在 如果没有值 则调用mapper的insert方法 把用户信息保存到数据库,最后返回1 代表注册成功
  1. 下一步开始实现登录功能, 步骤类似注册 先创建login.html页面 然后在页面中通过Vue对内容进行管理 当点击登录按钮的时候 向/login发出异步请求 同样把输入的用户信息提交给服务器, 在then方法中判断response.data的值为1代表登录成功显示首页 值为2 代表用户名不存在, 值为3 代表密码错误
  1. 在Controller里面添加login方法处理/login请求,声明User对象接收传递过来的用户信息, 在方法中调用mapper的selectByUsername 通过用户输入的用户名查询对应的用户信息,如果没有查询到 直接返回2代表用户名不存在,如果查询到了 继续通过输入的密码和查询到的密码比较如果一致返回1代表登录成功, 如果不一致返回2 代表密码错误.

端口被占用 

 

  1. 检查是不是有其它正在运行的工程, 将其关闭后再运行新工程
  1. 如果没有正在运行的工程,可通过以下几种方式:
  1. 重启电脑
  1. 修改工程的端口号

 

c. 在命令行中 执行以下指令找到占用8080端口的进程,然后执行杀掉该进程的指令, 释放出8080端口 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值