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 05 NodeJs
14款NodeJS Web框架推荐
Jul 11 NodeJs
nodeJs爬虫获取数据简单实现代码
Mar 29 NodeJs
NodeJS连接MongoDB数据库时报错的快速解决方法
May 13 NodeJs
学习 NodeJS 第八天:Socket 通讯实例
Dec 21 NodeJs
nodejs搭建本地服务器并访问文件的方法
Mar 03 NodeJs
详解nodejs微信公众号开发——6.自定义菜单
Apr 13 NodeJs
深入浅析Nodejs的Http模块
Jun 20 NodeJs
详解IWinter 一个路由转控制器的 Nodejs 库
Nov 15 NodeJs
nodejs实现截取上传视频中一帧作为预览图片
Dec 10 NodeJs
NodeJS 实现多语言的示例代码
Sep 11 NodeJs
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
Apr 29 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中,文件上传
2006/12/06 PHP
php 无限分类的树类代码
2009/12/03 PHP
PHP 读取大文件的X行到Y行内容的实现代码
2013/06/24 PHP
php分页函数完整实例代码
2014/09/22 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
php实现的RSS生成类实例
2015/04/23 PHP
PHP中iconv函数知识汇总
2015/07/02 PHP
轻松掌握php设计模式之访问者模式
2016/09/23 PHP
Lazy Load 延迟加载图片的 jQuery 插件
2010/02/06 Javascript
js 编写规范
2010/03/03 Javascript
再次分享18个非常棒的jQuery表格插件
2011/04/10 Javascript
火狐textarea输入法的bug的触发及解决
2013/07/24 Javascript
JS动态显示表格上下frame的方法
2015/03/31 Javascript
ionic实现滑动的三种方式
2016/08/27 Javascript
Bootstrap面板(Panels)的简单实现代码
2017/03/17 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
2019/09/25 Javascript
Python中使用asyncio 封装文件读写
2016/09/11 Python
Python利用Beautiful Soup模块创建对象详解
2017/03/27 Python
Python使用flask框架操作sqlite3的两种方式
2018/01/31 Python
python之pandas用法大全
2018/03/13 Python
python读取一个目录下所有txt里面的内容方法
2018/06/23 Python
Python OOP类中的几种函数或方法总结
2019/02/22 Python
基于Numpy.convolve使用Python实现滑动平均滤波的思路详解
2019/05/16 Python
tensor和numpy的互相转换的实现示例
2019/08/02 Python
python实现简单学生信息管理系统
2020/04/09 Python
python中shell执行知识点
2020/05/06 Python
HTML5新增的标签和属性归纳总结
2018/05/02 HTML / CSS
美国折衷生活方式品牌:Robert Graham
2018/07/13 全球购物
一套C++笔试题面试题
2012/06/06 面试题
如何进行有效的自我评价
2013/09/27 职场文书
研发工程师的岗位职责
2013/11/18 职场文书
简单的辞职信范文
2014/01/18 职场文书
应届生自荐信范文
2014/02/21 职场文书
出纳会计岗位职责
2014/03/12 职场文书
祖国在我心中演讲稿500字
2014/05/04 职场文书
医德考评自我评价
2014/09/14 职场文书