nodejs+express最简易的连接数据库的方法


Posted in NodeJs onDecember 23, 2020

环境搭建

1.首先需要自行安装node环境

2.然后全局安装 express

npm install -g express

3.创建express项目文件夹

express创建项目默认为jade模板引擎,若使用其他引擎,使用命令切换

express node_demo -e (选择ejs模板) // 在项目名称的后面添加 -e 那么创建出来的模板文件就是.ejs类型,语法是与html相同的

nodejs+express最简易的连接数据库的方法

在vscode中打开我们建好的项目,目录如下:

nodejs+express最简易的连接数据库的方法

对于ejs看着不习惯的同学可以将其改为html,如下:

nodejs+express最简易的连接数据库的方法

然后还需要将在views新建一个index.html 与error.html 内容如下 index.html

nodejs+express最简易的连接数据库的方法 

error.html

nodejs+express最简易的连接数据库的方法

安装依赖 npm install

启动项目 npm start

监听bin/www文件,默认端口为3000,可在www文件中更改, 打开浏览器,输入localhost:3000

这时我们就可以看到页面显示的内容是index.html 里面定义的内容了

nodejs+express最简易的连接数据库的方法

因为每次修改都需要重新启动,比较麻烦,这里有个插件nodemon,可以自动重启

npm install nodemon

将package.json文件中的代码修改为:

"start": "nodemon ./bin/www"

连接MySQL数据库

先安装mysql

npm install mysql 2.然后封装数据库连接模块,我们在根目录下新建一个conf文件夹, 新建一个db.config.js,与db.js 内容如下:

// db.config.js
// 创建mysql连接
module.exports = {
 host: 'localhost', // 服务器地址
 user: '*****', // mysql用户名称
 password: '**********', // mysql用户密码
 port: '3306', // 端口
 database: 'onepiece', // 数据库名称
}
// db.js 
var mysql = require('mysql')
var dbConfig = require('./db.config')

module.exports = {
 query: function (sql, params, callback) {
  //每次使用的时候需要创建链接,数据操作完成之后要关闭连接
  var connection = mysql.createConnection(dbConfig)
  connection.connect(function (err) {
   if (err) {
    throw err
   }
   //开始数据操作
   connection.query(sql, params, function (err, results, fields) {
    if (err) {
     throw err
    }
    //将查询出来的数据返回给回调函数
    callback &&
     callback(
      JSON.parse(JSON.stringify(results)),
      JSON.parse(JSON.stringify(fields))
     )
    //停止链接数据库,必须在查询语句后,要不然一调用这个方法,就直接停止链接,数据操作就会失败
    connection.end(function (err) {
     if (err) {
      console.log('关闭数据库连接失败!')
      throw err
     }
    })
   })
  })
 },
}

然后我们可以在routes 目录下的users文件中添加如下代码:

var db = require('../conf/db')

router.get('/userList', (req, res, next) => {
 // sql查询user表
 db.query('SELECT * FROM user', [], function (results, fields) {
  // 以json的形式返回
  res.json({ results })
 })
})

打开浏览器访问 http://localhost:3000/users/userList

nodejs+express最简易的连接数据库的方法

这样一个nodejs+express连接数据库就简单的完成了

后记

安装Navicat Premium

下载地址:https://3water.com/database/703548.html

安装MySQL

下载地址:https://3water.com/softs/38849.html

到此这篇关于nodejs+express最简易的连接数据库的方法的文章就介绍到这了,更多相关node express 连接数据库内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

NodeJs 相关文章推荐
nodejs实现黑名单中间件设计
Jun 17 NodeJs
基于 Docker 开发 NodeJS 应用
Jul 30 NodeJs
nodejs教程之制作一个简单的文章发布系统
Nov 21 NodeJs
初探nodeJS
Jan 24 NodeJs
NodeJS仿WebApi路由示例
Feb 28 NodeJs
Ajax异步文件上传与NodeJS express服务端处理
Apr 01 NodeJs
NodeJS收发GET和POST请求的示例代码
Aug 25 NodeJs
NodeJs form-data格式传输文件的方法
Dec 13 NodeJs
nodejs 日志模块winston的使用方法
May 02 NodeJs
使用koa-log4管理nodeJs日志笔记的使用方法
Nov 30 NodeJs
nodejs中request库使用HTTPS代理的方法
Apr 30 NodeJs
NodeJS http模块用法示例【创建web服务器/客户端】
Nov 05 NodeJs
windows如何把已安装的nodejs高版本降级为低版本(图文教程)
Dec 14 #NodeJs
NodeJS配置CORS实现过程详解
Dec 02 #NodeJs
如何利用nodejs自动定时发送邮件提醒(超实用)
Dec 01 #NodeJs
nodeJs项目在阿里云的简单部署
Nov 27 #NodeJs
如何利用nodejs实现命令行游戏
Nov 24 #NodeJs
NodeJS模块Buffer原理及使用方法解析
Nov 11 #NodeJs
nodejs中内置模块fs,path常见的用法说明
Nov 07 #NodeJs
You might like
PHP中去掉字符串首尾空格的方法
2012/05/19 PHP
php实现MySQL数据库备份与还原类实例
2014/12/09 PHP
php使用自带dom扩展进行元素匹配的原理解析
2020/05/29 PHP
使用ExtJS技术实现的拖动树结点
2010/08/05 Javascript
Document对象内容集合(比较全)
2010/09/06 Javascript
js中top/parent/frame概述及案例应用
2013/02/06 Javascript
jquery插件jquery倒计时插件分享
2013/12/27 Javascript
js实现正方形颜色从下往上升的效果
2014/08/04 Javascript
Nodejs极简入门教程(二):定时器
2014/10/25 NodeJs
Js动态设置rem来实现移动端字体的自适应代码
2016/10/14 Javascript
微信小程序 Page()函数详解
2016/10/17 Javascript
Node.js Express 框架 POST方法详解
2017/01/23 Javascript
jQuery制作input提示内容(兼容IE8以上)
2017/07/05 jQuery
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
2019/01/23 Javascript
优雅的将ElementUI表格变身成树形表格的方法步骤
2019/04/11 Javascript
Angular.JS读取数据库数据调用完整实例
2019/07/02 Javascript
原生JS 实现的input输入时表格过滤操作示例
2019/08/03 Javascript
Layui多选只有最后一个值的解决方法
2019/09/02 Javascript
vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)
2020/02/11 Javascript
Element Notification通知的实现示例
2020/07/27 Javascript
Python中修改字符串的四种方法
2018/11/02 Python
浅谈python 中的 type(), dtype(), astype()的区别
2020/04/09 Python
python调用API接口实现登陆短信验证
2020/05/10 Python
python属于解释语言吗
2020/06/11 Python
总结30个CSS3选择器
2017/04/13 HTML / CSS
Bose法国官网:购买耳机、扬声器、家庭影院、专业音响
2017/12/21 全球购物
企业管理专业个人求职信范文
2013/09/24 职场文书
给同学的道歉信
2014/01/16 职场文书
体育节口号
2014/06/19 职场文书
银行开户授权委托书格式
2014/10/10 职场文书
合作协议书模板
2014/10/10 职场文书
如何写贫困证明申请书
2014/10/29 职场文书
二手车交易协议书标准版
2014/11/16 职场文书
开业典礼致辞
2015/07/29 职场文书
《去年的树》教学反思
2016/02/18 职场文书
Python djanjo之csrf防跨站攻击实验过程
2021/05/14 Python