前端菜鸟初次记录nodejs与mysql数据库联合实现CRUD

一、项目环境搭建

        首先在cmd终端全局安装express脚手架 npm install -g express-generator,成功之后使用 express -e 项目名创建项目,此时,系统会自动生成项目目录,如果脚手架安装不成功,可以新建文件夹,在终端输入命令npx --yes --package express-generator express --force --no-view也可生成目录。

二、目录文件作用分析


1、创建service文件夹,此文件夹存放操作数据库的sql语句,例如:

async findByTitle(title) {

    const statement = `select id, title, icon, href, pid, tps, sts from menus where title = ?`

    let [rows] = await db.query(statement, [title])

    return rows

  }

        service文件夹下有一个base.js文件,存放公共函数,其他业务service模块可以继承base.js(要导入连接数据库的文件)模块中的公共函数,每个特有的业务模块都有一个独特的.service.js文件,在此文件最后需要module.exports的导出中添加表名和表中的参数名,参数名以数组的形式返回。

        2、routes文件夹下除了一个公共使用的db.js的文件,其它均为每个业务的路由模块(CRUD操作)

        3、最终在入口文件app.js中挂载每个业务路由模块

三、公共文件处理

1、routes文件夹下

db.js文件

const mysql=require('mysql2')

const {mysql_conf}=require('../config/global.json')

const pool=mysql.createPool({

  host: mysql_conf.host,

  user: mysql_conf.user,

  password: mysql_conf.password,

  database: mysql_conf.database,

  waitForConnections: mysql_conf.waitForConnections,

  connectionLimit: mysql_conf.connectionLimit,

  queueLimit: mysql_conf.queueLimit

})

module.exports=pool.promise()

2、新建config文件夹

global.json文件--存放连库语句
{
    "mysql_conf": {
      "host": "localhost",
      "port": 3306,
      "user": "root",
      "password": "自己的数据库密码",
      "database": "bz2107_0601",
      "waitForConnections": true,
      "connectionLimit": 10,
      "queueLimit": 0
    }
  }

errMsg.js文件--公共状态码语句
class ErrMsg{
    toJson(code,msg,data){
        return{code,msg,data}
    }
    // 成功则响应数据
    resp200(data){
        return this.toJson(200,'ok',data)
    }
    // 失败返回空值
    resp700(){
        return this.toJson(700,'系统繁忙',[])
    }
    resp701(){
        return this.toJson(701,'该名称已存在',[])
    }
    resp601(){
        return this.toJson(601,'缺少关键参数',[])
    }
    resptoxx(code,msg,data){
        return this.toJson(code,msg,data)
    }
}
module.exports= new ErrMsg()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值