//初始化
npm init
//安装依赖
npm install body-parser express mysql cors -S

引入路由,把页面拆分开:

connect.js

const mysql = require('mysql')
const express = require('express')
const app = express()
const router = express.Router();// 解析参数
const bodyParser = require('body-parser')
let login = true;
// json请求
app.use(bodyParser.json())
// 表单请求
app.use(bodyParser.urlencoded({extended: false}))const option = {host: 'localhost',user: 'root',password: 'root',port: '3306',database: 'yyds',//表名connectTimeout: 5000, //连接超时multipleStatements: false //是否允许一个query中包含多条sql语句
}
let pool;
repool()
function Result ({ code = 1, msg = '', data = {} }) {this.code = code;this.msg = msg;this.data = data;
}
// 断线重连机制
function repool() {// 创建连接池pool = mysql.createPool({...option,waitForConnections: true, //当无连接池可用时,等待(true)还是抛错(false)connectionLimit: 100, //连接数限制queueLimit: 0 //最大连接等待数(0为不限制)})pool.on('error', err => {err.code === 'PROTOCOL_CONNECTION_LOST' && setTimeout(repool, 2000)})app.all('*', (_,__, next) => {pool.getConnection( err => {err && setTimeout(repool, 2000) || next()})})
}module.exports = { app, pool, Result, router }

router/login.js

const { pool, router, Result } = require('../connect')router.get('/', (req, res) => {pool.getConnection((err, conn) => {conn.query("SELECT * FROM t_user", (e, r) => {if(e) throw errorres.json(new Result({ data: r }))})pool.releaseConnection(conn) // 释放连接池,等待别的连接使用})
})module.exports = router;

入口文件 index.js

const { app, pool, Result } =require('./connect')
const login = require('./router/login')
app.all('*', (req, res, next) => {//这里处理全局拦截,一定要写在最上面next()
})
app.all('/', (req, res) => {pool.getConnection((err, conn) => {res.json({ type: 'test'})pool.releaseConnection(conn) // 释放连接池,等待别的连接使用})
})
app.use('/login', login)
app.listen(8088, () => {console.log('服务启动')
})

node.js连接数据库写接口相关推荐

  1. 小程序使用node.js开发后台接口

    目录 灵感 寻找 操作步骤 1. 准备工作 2. 使用Express生成项目 3. 创建Router级别路由 4. 创建路由处理函数模块 5. 创建连接数据库的模块 6. 启动服务器 7. 小程序里面 ...

  2. 服务端api用php写还是用node,如何使用node搭建服务器,写接口,调接口,跨域

    这次给大家带来如何使用node搭建服务器,写接口,调接口,跨域,使用node搭建服务器,写接口,调接口,跨域的注意事项有哪些,下面就是实战案例,一起来看一下.. 服务端项目目录下: 1.npm ini ...

  3. 写服务器node实际项目,基于node搭建服务器,写接口,调接口,跨域的实例

    刚开始学node,今天做这个也是累死宝宝了,以后可以自己写接口自己用了,再也不用麻烦人家后台人员了,这些年我们欠他们的太多了,说多了都是泪,不多说,往下看吧... 服务端项目目录下: 1.npm in ...

  4. 用 Node.js 手写一个 DNS 服务器

    DNS 是实现域名到 IP 转换的网络协议,当访问网页的时候,浏览器首先会通过 DNS 协议把域名转换为 IP,然后再向这个 IP 发送 HTTP 请求. DNS 是我们整天在用的协议,不知道大家是否 ...

  5. Node.js连接数据库 实现注册、登录、判断注册

    Node.js连接数据库实现注册,登录,在登录时检测账号是否进行注册. 准备工作 创建文件夹 此创建文件夹可以不是使用Vue-cli进行创建,只是简单创建文件夹便可. 使用npm进行mysql插件的安 ...

  6. 如何使用Node.js连接数据库

    创建数据库 在前面的文章中我们有手把手使用docker创建数据库,这里就直接沿用之前创建的数据库 首先启动docker,把之前的mysql容器运行起来 然后登入mysql客户端查看一下现有的数据库,以 ...

  7. 【Node.js】写一个数据自动整理成表格的脚本

    前言 企业项目进行数据埋点后,埋点事件名需要整理成Excel表格便于统计,目标是将下图左侧数据转化成下图右侧的Excel表格: 考虑到左侧埋点数据是随项目迭代增加的,埋点数据每增加一次我就要把数据一条 ...

  8. Node.js + Express-jwt实现接口认证

    一.简介 本次教程是基于之前的扫码购物项目的后台,实现后台登录注册接口认证. 二.实战步骤 1.创建数据表(Users) 注:Windows电脑自行手动创建,并添加数据 sequelize model ...

  9. node.js编写前端接口,服务器创建、数据库连接、路由挂载,增删改查、分页查询接口的编写

    1.文件准备 我们要准备三个文件来演示最基础的服务器创建.数据库连接路由挂载,增删改查.分页查询接口的编写.其中服务器创建单独一个文件为app.js,数据库连接为一个文件为pool.js,最后一个为接 ...

  10. NODE.JS短信接口示例demo

    NODE.JS对接验证码短信接口DEMO示例 /* * 接口类型:互亿无线触发短信接口,支持发送验证码短信.订单通知短信等. 账户注册:请通过该地址开通账户 http://user.ihuyi.com ...

最新文章

  1. python中的arange函数_Python 中的range,以及numpy包中的arange函数
  2. Java中JMX管理器的作用,项目中有什么具体使用?
  3. 每日程序C语言15-猴子吃桃问题
  4. SAP 电商云 Spartacus UI 产品明细页面路由确定后,加载的是 page template
  5. 表格存储TableStore全新升级,打造统一的在线数据存储平台!
  6. SpringBoot2.0基础案例(01):环境搭建和RestFul风格接口
  7. [机器学习-回归算法]Sklearn之线性回归实战
  8. cocos2dx 回调函数
  9. 初识Exchange2010
  10. Computer:路由器连接交换机怎么建立局域网
  11. ckplayer默认html,ckplayer.html
  12. XTU 1336 Perfect Palindrome Number
  13. android添加侧滑菜单,Android侧滑菜单控件DrawerLayout使用详解
  14. 5个APP自动化测试辅助定位工具,你用过几个?
  15. HTML CSS JavaScript学习心得
  16. web爬虫学习(四)——手机APP爬取
  17. 使用matplotlib实现连续单独出图
  18. XChat屏幕聊天插件
  19. Table元素的使用
  20. 宝藏又小众的东方行走rpg制作大师素材网站分享

热门文章

  1. XMLSpy使用流程
  2. 使用第三方插件Curvy为unity场景快速生成运动轨迹与赛道
  3. 具体数学第一章习题题解(8,9,10,11)
  4. 打包或者编译python程序
  5. PlutoSDR软件无线电平台带宽破解
  6. cactiez mysql密码_CactiEZ中文解决方案+使用教程(1)
  7. android 城市列表分组,Android实现简单的城市列表功能
  8. vs c++ 判断注册表键值是否存在
  9. Word宏与VBA/VB
  10. python需要学什么-学习python需要什么基础吗?老男孩Python