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获取本机内网和外网ip地址的实现代码
Jun 01 NodeJs
轻松创建nodejs服务器(5):事件处理程序
Dec 18 NodeJs
nodejs中的fiber(纤程)库详解
Mar 24 NodeJs
NodeJs中的VM模块详解
May 06 NodeJs
详解nodejs 文本操作模块-fs模块(二)
Dec 22 NodeJs
nodejs+mongodb+vue前后台配置ueditor的示例代码
Jan 02 NodeJs
nodejs多版本管理总结
Apr 03 NodeJs
nodeJs爬虫的技术点总结
May 13 NodeJs
NodeJS 中Stream 的基本使用
Jul 30 NodeJs
nodejs aes 加解密实例
Oct 10 NodeJs
Nodejs模块的调用操作实例分析
Dec 25 NodeJs
nodejs实现聊天机器人功能
Sep 19 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 文章调用类代码
2011/08/11 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
2017/05/04 PHP
php上传后台无法收到数据解决方法
2019/10/28 PHP
js监听输入框值的即时变化onpropertychange、oninput
2011/07/13 Javascript
原生javascript实现获取指定元素下所有后代元素的方法
2014/10/28 Javascript
JavaScript实现N皇后问题算法谜题解答
2014/12/29 Javascript
跟我学习javascript的最新标准ES6
2015/11/20 Javascript
初识angular框架后的所思所想
2016/02/19 Javascript
深入理解jquery中的事件与动画
2016/05/24 Javascript
深入理解ECMAScript的几个关键语句
2016/06/01 Javascript
原生 JS Ajax,GET和POST 请求实例代码
2016/06/08 Javascript
jQuery+Pdo编写login登陆界面
2016/08/01 Javascript
纯前端JavaScript实现Excel IO案例分享
2016/08/26 Javascript
基于rem的移动端响应式适配方案(详解)
2017/07/07 Javascript
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
2018/05/17 Javascript
详解Vue-cli中的静态资源管理(src/assets和static/的区别)
2018/06/19 Javascript
js array数组对象操作方法汇总
2019/03/18 Javascript
vue+element-ui JYAdmin后台管理系统模板解析
2020/07/28 Javascript
使用Typescript开发微信小程序的步骤详解
2021/01/12 Javascript
详解python多线程、锁、event事件机制的简单使用
2018/04/27 Python
Python常用模块os.path之文件及路径操作方法
2019/12/03 Python
Python打印特殊符号及对应编码解析
2020/05/07 Python
哪种Python框架适合你?简单介绍几种主流Python框架
2020/08/04 Python
详解向scrapy中的spider传递参数的几种方法(2种)
2020/09/28 Python
css3给背景图片加颜色遮罩的方法
2019/11/05 HTML / CSS
HTML5进阶段内联标签汇总(小篇)
2016/07/13 HTML / CSS
毕业实习个人鉴定范文
2013/12/10 职场文书
学习十八大精神心得体会
2013/12/31 职场文书
土地转让协议书
2014/04/15 职场文书
团队拓展活动总结
2014/08/27 职场文书
大学生档案自我鉴定(2篇)
2014/10/14 职场文书
诉讼授权委托书
2014/10/15 职场文书
Python中seaborn库之countplot的数据可视化使用
2021/06/11 Python
python树莓派通过队列实现进程交互的程序分析
2021/07/04 Python
Python中 range | np.arange | np.linspace三者的区别
2022/03/22 Python
MYSQL常用函数介绍
2022/05/05 MySQL