您现在的位置是:首页 > 技术教程 正文

express搭建服务器并连接mysql数据库

admin 阅读: 2024-03-31
后台-插件-广告管理-内容页头部广告(手机)

前言:express是一个轻量级的node.js web应用程序开发框架,为web和移动应用程序提供一组强大的功能,可以帮助我们快速搭建基于nodejs的web应用。通俗来说:express可以搭建服务器,接受前端发送过来的请求,并连接数据库,通过一系列操作做出响应发送到前端。

注意:搭建服务器是在项目根目录下新建的server.js,而连接mysql时,是在项目根目录下创建了一个db的文件夹,文件夹内新建了index.js文件,之后该文件抛出,在server.js文件中引入,话不多说,直接上项目目录结构:

一、搭建服务器:

  1. //
  2. // 使用express搭建web服务器的前提条件是电脑中已经安装nodejs
  3. // 之后进入到项目终端输入:npm i express
  4. // npm i mysql安装所需要用到的包
  5. //
  6. //用express搭建服务器并连接数据库的详细步骤如下
  7. //首先新建一个后缀名为.js的文件
  8. //1、引入express包
  9. const express=require('express');
  10. //2、实例化express对象
  11. const app= express();
  12. //3、开启端口进行监听发送过来的请求:包含端口号,和一个回调函数用于告知服务器是否启动成功
  13. app.listen( 3000 , () => {
  14. console.log("服务器已经成功启动,并在http://127.0.0.1:3000/上运行")
  15. })
  16. //4、接下来就是根据发送过来的路由请求进行处理并相应
  17. app.get('/login',(req,res)=>{
  18. res.send("ok")
  19. })

        到此为止,使用express搭建服务器成功,此时打开任意浏览器,输入http://127.0.0.1:3000/login进行访问,即可得到服务器端返回的ok。

二、连接mysql  

  1. //
  2. //在连接数据库之前需要进入项目终端输入:npm i mysql
  3. //
  4. //之后在项目目录下新建文件夹db,db目录下新建文件index.js
  5. //
  6. //然后将是引入mysql的详细步骤
  7. //
  8. //
  9. // 1、引入mysql
  10. const mysql = require("mysql");
  11. // 2、建立一个连接池
  12. const db = mysql.createPool({
  13. host: "127.0.0.1", // 数据库的IP地址(本地的或者是云服务器的都可以)
  14. user: "root",//用户名
  15. password: "654321",
  16. database: "sqltest", //指定要操作哪个数据库
  17. });
  18. // 检测数据库是否连接成功
  19. // db.query("select 1", (err, results) => {
  20. // if (err) return console.log(err);
  21. // console.log(results);
  22. // });
  23. //如果能打印出[ RowDataPacket { '1': 1 } ]代表连接数据库成功
  24. // 将文件暴露出去
  25. module.exports = db

三、增、删、改、查

        搭建服务器成功并且连接mysql成功之后尝试进行操作数据库里的数据,进行增删改查。

操作之前的准备:在数据库中新建一个表,并添加几条数据,表名为test,上图:

1、设计表:

2、添加几条数据: 

  1. //
  2. // 使用express搭建web服务器的前提条件是电脑中已经安装nodejs
  3. // 之后进入到项目终端输入:npm i express
  4. // npm i mysql安装所需要用到的包
  5. //
  6. //用express搭建服务器并连接数据库的详细步骤如下
  7. //首先新建一个后缀名为.js的文件
  8. //1、引入express包,抛出的db/index.js包
  9. const express=require('express');
  10. const db=require('./db/index.js')
  11. //2、实例化express对象
  12. const app= express();
  13. //3、开启端口进行监听发送过来的请求:包含端口号,和一个回调函数用于告知服务器是否启动成功
  14. app.listen( 3000 , () => {
  15. console.log("服务器已经成功启动,并在http://127.0.0.1:3000/上运行")
  16. })
  17. //4、接下来就是根据发送过来的路由请求进行处理并相应
  18. app.get('/login',(req,res)=>{
  19. res.send("ok")
  20. })
  21. //5、查——————————————————————————————————————————————————————————————————————————————————
  22. app.get("/infor", (req, res) => {
  23. // 定义sql语句:意思为查询test表
  24. const sql = "select * from test";
  25. // 执行sql语句
  26. db.query(sql, (err, result) => {
  27. // 执行失败
  28. if (err) {
  29. return res.send({ state: 1, message: err });
  30. }
  31. //执行成功后返回,表中的数据
  32. return res.send({ state: 0, message: "查询成功", data: result });
  33. });
  34. });

        此时打开浏览器访问:http://127.0.0.1:3000/infor就会返回test表中所有的数据,在这个过程中,需要操作数据库数据,而操作数据库的基本步骤为:

        1、定义sql语句,

        2、使用db.query()方法执行sql语句,第一个参数放sql语句,紧接着是一个箭头函数,其中,第一个参数是执行失败的信息,第二个参数是执行成功时所返回的结果。如果err存在,则执行失败,否则,执行成功。

  "insert into login_table (username,password) values(?,?);"

  1. //
  2. // 使用express搭建web服务器的前提条件是电脑中已经安装nodejs
  3. // 之后进入到项目终端输入:npm i express
  4. // npm i mysql安装所需要用到的包
  5. //
  6. //用express搭建服务器并连接数据库的详细步骤如下
  7. //首先新建一个后缀名为.js的文件
  8. //1、引入express包,抛出的db/index.js包
  9. const express=require('express');
  10. const db=require('./db/index.js')
  11. //2、实例化express对象
  12. const app= express();
  13. //3、开启端口进行监听发送过来的请求:包含端口号,和一个回调函数用于告知服务器是否启动成功
  14. app.listen( 3000 , () => {
  15. console.log("服务器已经成功启动,并在http://127.0.0.1:3000/上运行")
  16. })
  17. //4、接下来就是根据发送过来的路由请求进行处理并相应
  18. app.get('/login',(req,res)=>{
  19. res.send("ok")
  20. })
  21. //5、增
  22. app.get("/increase", (req,res)=>{
  23. // 先取到要增加的字段值
  24. const addInfor = req.query
  25. // 定义sql语句
  26. const sql = "insert into test set ?"
  27. // 执行sql语句,第二个参数代表sql语句中?的值
  28. /**
  29. * 如果增加的字段和数据库中的字段不是一一对应的
  30. * 将addInfor换成{name: addInfor.name, age: addInfor.age}
  31. * name代表数据库中的字段,addInfor.name代表他要增加的值
  32. */
  33. db.query(sql, addInfor, (err,results)=>{
  34. // sql语句执行失败
  35. if(err) {
  36. return res.send({status: 1, message: err.message})
  37. }
  38. // 数据库语句执行成功,但影响的条数不等于1,没有增加,也属于失败
  39. if(results.affectedRows !== 1) {
  40. return res.send({status: 1, message: '数据添加失败'})
  41. }
  42. // sql语句执行成功,影响条数也等于1
  43. return res.send({status:0, message: '添加成功', data:results})
  44. })
  45. })

         此时,如果打开任意浏览器访问网址:http://127.0.0.1:3000//increase?username=201811040682&password=123456即可成功将一条数据插入数据库:

而前端浏览器中会返回成功信息:

`UPDATE login_table SET username='${username}', password=${password} WHERE username='${findUsername}'`

`DELETE FROM login_table WHERE username='${username}'`

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索