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下打包模块archiver详解
Dec 03 NodeJs
nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
Dec 30 NodeJs
nodejs中模块定义实例详解
Mar 18 NodeJs
解析NodeJS异步I/O的实现
Apr 13 NodeJs
Nodejs读取文件时相对路径的正确写法(使用fs模块)
Apr 27 NodeJs
ubuntu编译nodejs所需的软件并安装
Sep 12 NodeJs
使用nodeJs来安装less及编译less文件为css文件的方法
Nov 20 NodeJs
nodejs超出最大的调用栈错误问题
Dec 27 NodeJs
nodejs aes 加解密实例
Oct 10 NodeJs
nodejs提示:cross-device link not permitted, rename错误的解决方法
Jun 10 NodeJs
通过Nodejs搭建网站简单实现注册登录流程
Jun 14 NodeJs
nodejs中使用worker_threads来创建新的线程的方法
Jan 22 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网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
php返回相对时间(如:20分钟前,3天前)的方法
2015/04/14 PHP
WordPress免插件实现面包屑导航的示例代码
2020/08/20 PHP
javascript 不间断的图片滚动并可点击
2010/01/15 Javascript
jQuery 图片切换插件(代码比较少)
2012/05/07 Javascript
javascript中简单的进制转换代码实例
2013/10/26 Javascript
jQuery在iframe中无法弹出对话框的解决方法
2014/01/12 Javascript
javascript实现一个数值加法函数
2015/06/26 Javascript
图解JavaScript中的this关键字
2020/05/28 Javascript
详解JavaScript时间格式化
2015/12/23 Javascript
JSP基于Bootstrap分页显示实例解析
2016/06/12 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
angular ngClick阻止冒泡使用默认行为的方法
2016/11/03 Javascript
JavaScript数据结构之链表的实现
2017/03/19 Javascript
浅谈关于axios和session的一些事
2017/07/13 Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
2018/02/22 Javascript
react-native 圆弧拖动进度条实现的示例代码
2018/04/12 Javascript
详解使用 Node.js 开发简单的脚手架工具
2018/06/08 Javascript
Angular项目如何升级至Angular6步骤全纪录
2018/09/03 Javascript
angular6 利用 ngContentOutlet 实现组件位置交换(重排)
2018/11/02 Javascript
在Vue项目中取消ESLint代码检测的步骤讲解
2019/01/27 Javascript
JS正则表达式封装与使用操作示例
2019/05/15 Javascript
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python入门之modf()方法的使用
2015/05/15 Python
python 打印对象的所有属性值的方法
2016/09/11 Python
Python实现识别手写数字 简易图片存储管理系统
2018/01/29 Python
django组合搜索实现过程详解(附代码)
2019/08/06 Python
python+pygame实现坦克大战
2019/09/10 Python
python实现3D地图可视化
2020/03/25 Python
使用python无账号无限制获取企查查信息的实例代码
2020/04/17 Python
日本7net购物网:书籍、漫画、杂志、DVD、游戏邮购
2017/02/17 全球购物
极简鞋类,赤脚的感觉:Lems Shoes
2019/08/06 全球购物
小学生操行评语大全
2014/04/22 职场文书
环保倡议书格式范文
2014/05/14 职场文书
4s店活动策划方案
2014/08/25 职场文书
《所见》教学反思
2016/02/23 职场文书