IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Node.js 如何使用MySQL -> 正文阅读

[大数据]Node.js 如何使用MySQL

1、安装 mysql 模块

首先,我们需要使用nodejs的包管理工具(npm)安装mysql的驱动。命令行如下:

npm install mysql

2、配置数据库连接参数

在当前文件夹里创建config,在该文件夹下新建一个dbconfig.js,用来连接数据库

const Sequelize=require('sequelize');

const DB=new Sequelize('dbtest','root','123456',{
    host:'localhost',
    port:3306,
    dialect:'mysql',
    pool:{
        max:30,
        min:3,
        idle:1000,
    }
})
module.exports=DB;

3、创建路由模块

在数据库中有这样一张表employees

(1)新建一个EmployeeModel.js 文件,并导出该文件

const Sequelize=require('sequelize');
const DB=require('../config/dbconfig')

const EmployeeModel=DB.define('employees',{
    id:{
        type:Sequelize.INTEGER,
        primaryKey:true,
        autoIncrement:true
    },
    name:{
        type:Sequelize.STRING,
        allowNull:false
    },
    gender:{
        type:Sequelize.STRING,
        allowNull:false
    },
    birthday:{
        type:Sequelize.DATE,
        allowNull:false
    },
    phone:{
        type:Sequelize.STRING,
        allowNull:true
    },address:{
        type:Sequelize.STRING,
        allowNull:true
    }
},{
    freezeTableName:true,  
    timestamps:false    // 不显示时间戳
})

module.exports=EmployeeModel;

(2) 再新建一个employeeapi.js 文件,导入express、router、EmployeeModel模块;并导出;

var express = require('express');
var router = express.Router();

const Employee=require('../../db/model/EmployeeModel')

module.exports = router;

(3)在app.js文件引入路由模块

var employeeRouter=require('./routes/api/employeeapi')
app.use('/employees',employeeRouter)

如果不在app.js 文件中引入,则无法在postman中测试。


4、查询该表

/*
查询所有: http://localhost:8089/employees/all
 */

router.get('/all',(req,res)=>{
    Employee.findAll({
        raw:true  //不需要显示额外信息

    }).then(result=>{
        res.json({
            code:1000,
            data:result
        })
    }).catch(err=>{
        console.log(err)
    })
})

启动服务器, 在postman 中输入查询的地址,选为get请求,输入链接,点击发送。??http://localhost:8089/employees/all??

?查询成功

?5、增加数据

/*
2、增加 http://localhost:8089/employees/add
 */

router.post('/add',(req,res)=>{
    Employee.create({
        name:req.body.name,
        gender:req.body.gender,
        birthday:req.body.birthday,
        phone:req.body.phone,
        address:req.body.address,


    }).then(result=>{
        res.json({
            code:1001,
            msg:'Success'
        })
    }).catch(err=>{
        console.log(err)
    })
})

启动服务器, 在postman 中输入查询的地址,选为post请求,输入链接,

http://localhost:8089/employees/add。 选为body,x-www-form-urlencoded

插入成功页面,此时数据库中也成功插入?

?

?6、删除数据

/*
删除: http://localhost:8089/employees/del
 */

router.delete('/del',(req,res)=>{
    Employee.destroy({
        where:{
            id:req.body.id
        }
    }).then(result=>{
        res.json({
            code:1002,
            msg:'删除成功'
        })
    })
})

启动服务器, 在postman 中输入查询的地址,选为delete请求,输入链接,?

?http://localhost:8089/employees/del? 选为body,x-www-form-urlencoded。

删除成功页面,数据库中也成功删除 id 为002 的用户

?

?7、更新数据

/*
更新 http://localhost:8089/emplyees/update
 */

router.put('/update',(req, res) => {
    Employee.findOne({
        where:{
            id: req.body.id
        }
    }).then((emp)=>{
        emp.update({
            name: req.body.name,
            gender: req.body.gender,
            birthday: req.body.birthday,
            phone: req.body.phone,
            address: req.body.address
        }).then(result=>{
            res.json({
                code: 1003,
                msg: '更新成功'
            })
        })
    })
})

启动服务器, 在postman 中输入查询的地址,选为put请求,输入链接??

?http://localhost:8089/emplyees/update

?

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-03-03 16:21:05  更:2022-03-03 16:21:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 12:09:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码