一、Express框架
1. 在服务器端进行跨域设置:安装、配置cors模块
2. 创建自己的路由文件:路由中间件 —— 接口文件(API)
3. 前后端数据的传输:
(1)前端数据如何发送给后台:
- get方式:数据绑定在url一起发送给后台
- post方式:数据绑定在body上发送给客户端
(2)后端接收前端的数据:
- 对于get方式:req.query.参数名
- 对于post方式:req.body.参数名
(3)后端向前端响应数据:
- res.send(数据):字符串或对象
- res.json(数据):json格式的字符串
4. 在项目中配置自定义的路由文件:app.js中配置
- 导入自定义的路由文件
- 配置路由路径:http://localhost:端口号 + 在app.js配置的路径 + 接口中给定的路径
二、案例
1. 客户端:注册 —-> 登录 —-> 主页
2. 服务器端接口:
注册接口:接收客户端的数据,将数据保存到文件中
登录接口:读取文件中的数据、对数据进行处理、判断
主页接口:向客户端响应数据
三、接口测试
(1)新建目录:目录名建议是项目名称
(1)接口能否正常访问
(2)请求数据、响应数据是否正常
四、RESTful风格
1. REST风格:是一个基于web标准的架构。使用的是http协议。http协议的特点 —- 无状态协议
2. 一个接口就是一个资源,这些资源的获取是通过http的标准方法来实现的
3. 获取资源必须有:协议、主机名(域名)、端口号、资源地址
1. 常见的get请求:
(1)通过浏览器地址发起的请求都是get方式
(2)在html页面中使用a标签发送的请求也是get方式
(3)location.href发送的请求也是get方式
2. 创建Express项目时,如果修改了端口号,建议先运行项目看端口号是否可用
五、数据库:存放数据的仓库
1. 关系型数据库:用二维表格存放数据。有行、列之分。一个关系就是一张表格,一个数据库中有若干个表格。
(1)MySQL、Oracle —- 甲骨文公司
(2)DB2、ACCESS
2. 非关系型数据:NoSQL数据库。以文档的方式管理数据
MongoDB、sqlite
(1)创建数据库:
(2)创建表:
varchar:字符串
int:整型
主键:唯一标识表格中一行记录的列称为主键列(值不能重复、不能为空)只有在MySQL数据库中主键为int型时才会自增
4. SQL:结构化查询语言(Structure Query Language),是关系型数据库的标准查询语言
开头双-加空格为注释
(1)查询语句:
select 列名1,列名2,… from 表名 [ where 条件]
查询student表的所有记录:* 是统配符代表所有列
-- 查询student表的所有记录:* 是统配符代表所有列
select * from student;
select * from clazz;
-- 查询student表中id、name、address列
select id,name,address from student;
select id,name,address
from student;
-- 条件查询:带where子句的查询
-- 查询所有性别为'男'的记录
select * from student where sex='男';
-- 查询所有性别为'男' 并且年龄大于23岁的记录
select * from student where sex='男' and age > 23;
-- 查询所有性别为'男' 或年龄大于等于23岁的记录
select * from student where sex='男' or age >= 23;
-- 查询年龄在18~22岁之间的记录
select * from student where age between 18 and 22;
-- 查询地址是西安的学生信息
select * from student where address = '西安';
-- 查询地址是西安、渭南、咸阳的学生信息
select * from student where address in ('西安','渭南','咸阳');
-- 查询地址不是西安、渭南、咸阳的学生信息
select * from student where address not in ('西安','渭南','咸阳');
-- 模糊查询:使用like关键字,%通配符表示0个或多个字符,_表示1个字符
-- 查询姓贾的学生记录
select * from student where name like '贾%';
-- 查询姓贾、名字两个字的学生记录
select * from student where name like '贾_';
-- 查询名字有3个字,最后一个字是'春'的学生记录
select * from student where name like '__春';
(2)插入语句:向数据表中插入记录
insert into 表名(列名1,列名2…)values(值1,值2,……)
-- 给student表插入一条记录
insert into student values('1008','林黛玉','女',18,'镇江');
-- 给student表的部分列插入数据:id、name、sex
insert into student(id,name,sex) values('1014','武松','男');
(3)删除语句:删除表中的记录
delete from 表名 [where 条件]
-- 删除id为1013的记录
delete from student where id = '1013';
-- 删除地址为'渭南'的记录
delete from student where address = '渭南';
(4)更新语句:更新表中的记录
update 表名 set 列名1 = 值1,列名2=值2… [where 条件]
-- 更新id为1014的记录的age、address字段
update student set age=23,address='景阳冈' where id = '1014';
CRUD操作(增、删、改、查)
- 插入记录:insert into 表名(列名1,…) values(值1…)
- 删除记录:delete from 表名 [ where 条件 ]
- 更新记录:update 表名 set 列名1=值1,…… [where 条件]
- 查询记录:select 列名 from 表名 [where 条件]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/79761.html