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学习小结(一)
Jul 06 NodeJs
nodejs教程之环境安装及运行
Nov 21 NodeJs
Nodejs学习item【入门手上】
May 05 NodeJs
NodeJs读取JSON文件格式化时的注意事项
Sep 25 NodeJs
NodeJS基础API搭建服务器详细过程记录
Apr 01 NodeJs
nodejs入门教程三:调用内部和外部方法示例
Apr 24 NodeJs
NodeJS实现微信公众号关注后自动回复功能
May 31 NodeJs
nodejs检测因特网是否断开的解决方案
Apr 17 NodeJs
nodejs中request库使用HTTPS代理的方法
Apr 30 NodeJs
nodejs实现用户登录路由功能
May 22 NodeJs
Nodejs实现WebSocket代码实例
May 19 NodeJs
node快速搭建后台的实现步骤
Feb 18 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使用标签替换的方式生成静态页面
2015/05/21 PHP
PHP session 会话处理函数
2016/06/06 PHP
script不刷新页面的联动前后代码
2013/09/18 Javascript
用js代码改变单选框选中状态的简单实例
2013/12/18 Javascript
jQuery实现设置、移除文本框默认值功能
2015/01/13 Javascript
jQuery中设置form表单中action值的实现方法
2016/05/25 Javascript
原生js 封装get ,post, delete 请求的实例
2017/08/11 Javascript
详解React项目的服务端渲染改造(koa2+webpack3.11)
2018/03/19 Javascript
js将键值对字符串转为json字符串的方法
2018/03/30 Javascript
官方推荐react-navigation的具体使用详解
2018/05/08 Javascript
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
2018/08/20 Javascript
vue上传图片到oss的方法示例(图片带有删除功能)
2018/09/27 Javascript
为什么说JavaScript预解释是一种毫无节操的机制详析
2018/11/18 Javascript
Vue源码解析之数组变异的实现
2018/12/04 Javascript
Vue指令指令大全
2019/02/09 Javascript
基于VUE实现简单的学生信息管理系统
2021/01/13 Vue.js
[02:04]2014DOTA2国际邀请赛 BBC小组赛第三天总结
2014/07/12 DOTA
Python ljust rjust center输出
2008/09/06 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
2019/06/28 Python
深入了解Python枚举类型的相关知识
2019/07/09 Python
基于Python中的yield表达式介绍
2019/11/19 Python
python求绝对值的三种方法小结
2019/12/04 Python
在python下实现word2vec词向量训练与加载实例
2020/06/09 Python
Linux管理员面试经常问道的相关命令
2014/12/12 面试题
类的返射机制中的包及核心类
2016/09/12 面试题
最新英语专业学生求职信范文
2013/09/21 职场文书
自荐信范文
2013/12/10 职场文书
高二物理教学反思
2014/02/08 职场文书
《一本男孩子必读的书》教学反思
2014/02/19 职场文书
社区文明创建工作总结2015
2015/04/21 职场文书
南京大屠杀观后感
2015/06/02 职场文书
2015年教师个人业务工作总结
2015/10/23 职场文书
咖啡厅里的创业计划书
2019/08/21 职场文书
python3 hdf5文件 遍历代码
2021/05/19 Python
Feign调用传输文件异常的解决
2021/06/24 Java/Android
Win11安装受阻怎么办? Windows11安装问题与解决方案汇总
2021/11/21 数码科技