Node.js写接口连接MySQL数据库

这篇具有很好参考价值的文章主要介绍了Node.js写接口连接MySQL数据库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.新建app.js粘贴以下代码

2.npm init 初始化
3.npm i 安装依赖

4.npm i mysql

5.npm i express

6. node app.js 启动接口文章来源地址https://www.toymoban.com/news/detail-605430.html

const express = require('express')
const mysql = require('mysql')
const bodyParser = require('body-parser')
const app = express()
const port = 3006
const jsonParser = bodyParser.json()
const urlencodedParser = bodyParser.urlencoded({ extended: false })
app.use(urlencodedParser)
app.use(jsonParser)


// 创建数据库链接
const connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: 'root',
    database: 'mall'
})

connection.connect()

//设置跨域访问
app.all('*', function (req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT,DELETE");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization");
    next();
});

//好物秒杀电梯导航
app.get('/elevator', (req, res) => {
    connection.query(`select * from index_all limit 0,168;`, function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})

// 加入购物车
app.post('/collect', (req, res) => {
    const user_id = req.body.userId
    const id = req.body.id
    const count = req.body.count
    connection.query(`insert into t_collections (user_id, commodity_id,count) values (${user_id},${id},${count});`, function (err, rows, fields) {
        res.send({
            status: 200
        })
    });
})

// 更新购物车数量
app.get('/updataNum', (req, res) => {
    const userId = req.query.userId
    const commodity_id = req.query.commodity_id
    connection.query(`SELECT * FROM t_collections, index_all where t_collections.commodity_id = index_all.id and user_id = ${userId} and commodity_id = ${commodity_id}`, function (err, rows, fields) {
        if (rows.length != 0) {
            res.send({
                status: 200
            })
        } else {
            res.send({
                status: 666
            })
        }
    })
})

// 我的购物车
app.get('/car', (req, res) => {
    const id = req.query.id
    connection.query(`SELECT * FROM t_collections,index_all where t_collections.commodity_id=index_all.id and user_id=${id}`, function (err, rows, fields) {
        console.log(rows)
        res.send({
            data: rows
        })
    })
})

// 查询注册的手机号
app.get("/seePhone", (req, res) => {
    const telnumber = req.query.telnumber
    connection.query(`SELECT * FROM t_users where telnumber=${telnumber};`, function (err, rows, fields) {
        console.log(rows)
        if (rows.length == 0) {
            res.send({
                status: 200
            })
        } else {
            res.send({
                status: 666
            })
        }
    })
})

// 查询购物车
app.get("/seeCar", (req, res) => {
    const user_id = req.query.user_id
    const commodity_id = req.query.commodity_id
    console.log(777, user_id, commodity_id)
    // const count = req.query.count
    connection.query(`SELECT count FROM t_collections where t_collections.commodity_id=${commodity_id} and user_id=${user_id};`, function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})

// 修改购物车
app.put("/reviseCar", (req, res) => {
    const user_id = req.body.user_id
    const commodity_id = req.body.commodity_id
    const count = req.body.count
    connection.query(`update t_collections set count=${count} where commodity_id=${commodity_id} and user_id=${user_id};`, function (err, rows, fields) {
        res.send({
            status: 200
        })
    })
})

// 添加购物车
app.get("/addCart", (req, res) => {
    const user_id = req.query.user_id
    const commodity_id = req.query.commodity_id
    const count = req.query.count
    connection.query(`insert into t_collections (commodity_id,user_id,count) values (${commodity_id}, ${user_id},${count});`, function (err, rows, fields) {
        res.send({
            status: 200
        })
    })
})

// 购物车 增加/删减 商品数量
app.put("/changeMount", (req, res) => {
    const user_id = req.body.user_id
    const commodity_id = req.body.commodity_id
    const count = req.body.count
    connection.query(`update t_collections set count=${count} where commodity_id=${commodity_id} and user_id=${user_id};`, function (err, rows, fields) {
        res.send({
            status: 200
        })
    })
})

//删除商品
app.delete('/del', (req, res) => {
    const user_id = req.query.user_id
    const commodity_id = req.query.commodity_id
    connection.query(`delete from t_collections where user_id=${user_id} and commodity_id=${commodity_id};`, function (err, rows, fields) {
        res.send({
            status: 200
        })
    })
})

//首页底部数据
app.get('/index', (req, res) => {
    const mount = req.query.limit
    const page = req.query.page
    connection.query(`select * from index_index limit ${(page - 1) * mount},${mount};`, function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})

//ole大牌精选数据
app.get('/olee', (req, res) => {
    const mount = req.query.limit
    const page = req.query.page
    connection.query(`select * from index_ole limit ${(page - 1) * mount},${mount};`, function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})


// 所有数据接口
app.get('/all', (req, res) => {
    connection.query('select * from index_all', function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})

// 模糊搜索
app.get('/search', (req, res) => {
    const mount = req.query.limit
    const page = req.query.page
    const txt = req.query.keyword
    connection.query(`select * from index_all  where title like "%${txt}%" limit ${(page - 1) * mount},${mount};`, function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})

// 模糊搜索的所有商品
app.get('/allsearchh', (req, res) => {
    const txt = req.query.keyword
    connection.query(`select * from index_all where title like "%${txt}%";`, function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})

//登录接口
app.get('/login', (req, res) => {
    const admin = req.query.admin
    const psw = req.query.psw
    connection.query(`select * from t_users where telnumber='${admin}' and password='${psw}';`, function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})

//注册接口
app.post('/register', (req, res) => {
    console.log(req.body.telnumber)
    const telnumber = req.body.telnumber
    const psw = req.body.password
    connection.query(`insert into t_users (password,telnumber) values ('${psw}','${telnumber}');`, function (err, rows, fields) {
        res.send({
            status: 200
        })
    })
})

// 更多接口 
app.get('/more', (req, res) => {
    const mount = req.query.limit
    const page = req.query.page
    connection.query(`select * from index_more limit ${(page - 1) * mount},${mount};`, function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})

// 百货接口 
app.get('/store', (req, res) => {
    const mount = req.query.limit
    const page = req.query.page
    connection.query(`select * from index_store limit ${(page - 1) * mount},${mount};`, function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})

// 电器接口 
app.get('/appliances', (req, res) => {
    const mount = req.query.limit
    const page = req.query.page
    connection.query(`select * from index_appliances limit ${(page - 1) * mount},${mount};`, function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})

//男装接口 
app.get('/man', (req, res) => {
    const mount = req.query.limit
    const page = req.query.page
    connection.query(`select * from index_man limit ${(page - 1) * mount},${mount};`, function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})

// 母婴接口 
app.get('/baby', (req, res) => {
    const mount = req.query.limit
    const page = req.query.page
    connection.query(`select * from index_baby limit ${(page - 1) * mount},${mount};`, function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})

// 箱包接口 
app.get('/bag', (req, res) => {
    const mount = req.query.limit
    const page = req.query.page
    connection.query(`select * from index_bag limit ${(page - 1) * mount},${mount};`, function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})

// 美妆接口 
app.get('/makeups', (req, res) => {
    const mount = req.query.limit
    const page = req.query.page
    connection.query(`select * from index_makeups limit ${(page - 1) * mount},${mount};`, function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})

// 运动接口  
app.get('/sports', (req, res) => {
    const mount = req.query.limit
    const page = req.query.page
    connection.query(`select * from index_sports limit ${(page - 1) * mount},${mount};`, function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})

// 女装接口 
app.get('/woman', (req, res) => {
    const mount = req.query.limit
    const page = req.query.page
    connection.query(`select * from index_woman limit ${(page - 1) * mount},${mount};`, function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})

// 大牌精选接口
app.get('/good', (req, res) => {
    connection.query('select * from index_good', function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})

// 好物秒杀接口
app.get('/appliances', (req, res) => {
    connection.query('select * from index_appliances', function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})

//疯狂折扣接口
app.get('/appliances', (req, res) => {
    connection.query('select * from index_appliances', function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})

//推荐接口
app.get('/appliances', (req, res) => {
    connection.query('select * from index_appliances', function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})

// 疯狂接口1~6
app.get('/crazy1', (req, res) => {
    connection.query('select * from crazy1', function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})
app.get('/crazy2', (req, res) => {
    connection.query('select * from crazy2', function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})
app.get('/crazy3', (req, res) => {
    connection.query('select * from crazy3', function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})
app.get('/crazy4', (req, res) => {
    connection.query('select * from crazy4', function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})
app.get('/crazy5', (req, res) => {
    connection.query('select * from crazy5', function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})
app.get('/crazy6', (req, res) => {
    connection.query('select * from crazy6', function (err, rows, fields) {
        res.send({
            status: 200,
            data: rows
        })
    })
})

app.listen(port, () => {
    console.log(`Example app listening on port ${port}`)
})

到了这里,关于Node.js写接口连接MySQL数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 前端使用node.js连接sql.server数据库教程

    前端使用node.js连接sql.server数据库教程

    最近项目中要用到node写接口然后连接公司现有的sql.server数据库,再把执行结果返回给前端(还是我),因为之前一直做前端这块,后端这方面不是很懂,花了很长的时间终于研究出来了(还是太菜了,走了很多弯路),所以写个博客,一是复习巩固,二是给其他有需要的小伙伴一个参考,尽量

    2024年02月11日
    浏览(14)
  • 在Node.js中使用MongoDB连接数据库、创建集合

    在Node.js中使用MongoDB连接数据库、创建集合

    本文主要介绍在Node.js中使用MongoDB连接数据库、创建集合的方法。 在Node.js中使用MongoDB连接数据库有两种方式:使用原生驱动程序和使用Mongoose。 首先,需要安装 mongodb 模块。可以通过以下命令来安装: 安装完成后,可以在代码中引入模块: 接着,可以使用 MongoClient 来连接

    2024年02月04日
    浏览(42)
  • Node.js程序如何访问MySQL数据库呢?Sequelize操作MySQL数据库详解

    当我们安装好MySQL后,Node.js程序如何访问MySQL数据库呢? 访问MySQL数据库只有一种方法,就是通过网络发送SQL命令,然后,MySQL服务器执行后返回结果。 我们可以在命令行窗口输入mysql -u root -p,然后输入root口令后,就连接到了MySQL服务器。因为没有指定–host参数,所以我们连

    2023年04月08日
    浏览(14)
  • Vue项目通过node连接MySQL数据库并实现增删改查操作

    Vue项目通过node连接MySQL数据库并实现增删改查操作

    1.创建Vue项目 Vue项目创建的详细步骤,有需要的可移步这里 2.下载安装需要的插件 下载express 下载cors,用于处理接口跨域问题 下载mysql 下载axios 3.在项目中创建server文件夹,用于搭建本地服务器 新建/server/app.js,用于配置服务器相关信息 新建/server/db/index.js,用于配置数据库

    2024年02月16日
    浏览(15)
  • MySQL数据库 – node使用

    MySQL数据库 – node使用

    1 MySQL查询对象 2 MySQL查询数组 3 mysql2库介绍使用 4 mysql2预处理语句 5 mysql2连接池使用 6 mysql2的Promi 这里仅说明如何使用服务器连接数据库并进行操作。 预处理语句就是可以输入变量的语句(表现形式是有符号:?)。需要使用.execute来执行;   需要运行普通的语句(不添加变

    2024年02月08日
    浏览(15)
  • Mongodb 以及 node.js中使用mongoose操作数据库

    目录 1、lowdb 2、Mongodb是什么? 3、Mongodb核心概念 4、Mongodb的下载与使用 5、数据库与集合命令 5.1、数据库命令 5.2、集合命令 5.3、文档命令 6、Mongoose 6.1、插入文档 6.2、字段类型 6.3、字段值验证 6.3.1、必填项 6.3.2、默认值 6.3.3、枚举值 6.3.4、唯一值 6.4、删除文档 6.5、更新文

    2024年02月11日
    浏览(10)
  • Node框架 【Koa】之 【静态资源管理、模板引擎、连接数据库】
  • Nodejs 入门8 NeDB 轻量级的Node.js 数据库

    Nodejs 入门8 NeDB 轻量级的Node.js 数据库

    常用的sqlite轻量级数据库,nodejs在windows环境下安装配置有时候会比较麻烦,很难顺利安装。 Nedb(Node Embedded Database)在一些情况下可以替代sqlite,特别适用于小型项目和快速原型开发。本文将介绍Nedb的基本概念、特性和使用方法,以帮助大家更好地了解和利用这个便捷的工

    2024年01月22日
    浏览(18)
  • 自学WEB后端05-Node.js后端服务链接数据库redis

    自学WEB后端05-Node.js后端服务链接数据库redis

    嘿,亲爱的小伙伴们!😄 今天我要给大家分享一个超级方便且高效的 NoSQL 类型数据库——Redis!💡 它可不是一般的关系型数据库哦,而是以键值对形式存储数据的内存数据库。📚 快跟着我一起来学习如何安装和使用 Redis 吧!  自学WEB后端01-安装Express+Node.js框架完成Hello

    2024年02月07日
    浏览(21)
  • 【接口测试】Postman 连接数据库MySQL

    【接口测试】Postman 连接数据库MySQL

     平常用postman测试接口时,可能会写死某些值,不太灵活。 有没有办法利用数据库的数据动态测试呢?答案当然是可以的。 可以使用Postman连接MySQL,因为postman可以执行js,所以搭配node服务就可以实现。 node环境 地址:https://github.com/liyinchigithub/Omysql  当然也可以用docker安装,

    2024年02月12日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包