express连接mysql的操作是怎样,具体怎样做
Admin 2022-08-16 群英技术资讯 296 次浏览
一、说一下
连接不同的数据库需要安装相应的插件,此demo使用mysql数据库,需自行安装mysql数据库软件。
新建数据库webapp,
新建表users:
二、直接开码
npm install mysql --save
注释:安装mysql依赖包,保存在本项目
1、测试
尝试连接数据库,并查询表users
在app.js中,随便找个位置添加如下测试代码,测试完可删除
//---------测试代码---------- var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : '123', database : 'webapp' }); connection.connect(); connection.query('SELECT * from users', function(err, data, fields) { if (err) { console.log(err); return; }; console.log(data); }); connection.end();
启动服务器
nodemon app
nice,数据获取成功。
但是数据格式和数据不太一样,所以需要对获取的结果处理一下,修改:
将数据转成json字符串,然后再转成json对象就是我们想要的数据结构了,打印结果:
ok,连接数据库测试成功,开始封装数据查询模块,删除掉测试代码
2、封装
根目录下新建db.config.js
1 2 3 4 5 6 | module.exports = { host : 'localhost' , user : 'root' , password : '123' , database : 'webapp' } |
配置参数需自定义,示例只做参考
根目录新建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){ console.log('数据库链接失败'); throw err; } //开始数据操作 connection.query( sql, params, function(err,results,fields ){ if(err){ console.log('数据操作失败'); throw err; } //将查询出来的数据返回给回调函数,这个时候就没有必要使用错误前置的思想了,因为我们在这个文件中已经对错误进行了处理,如果数据检索报错,直接就会阻塞到这个文件中 callback && callback(JSON.parse(JSON.stringify(results)), JSON.parse(JSON.stringify(fields))); //results作为数据操作后的结果,fields作为数据库连接的一些字段,大家可以打印到控制台观察一下 //停止链接数据库,必须再查询语句后,要不然一调用这个方法,就直接停止链接,数据操作就会失败 connection.end(function(err){ if(err){ console.log('关闭数据库连接失败!'); throw err; } }); }); }); } };
封装完成,可以在任意的文件进行调用。
routes/index.js
var express = require('express'); var router = express.Router(); var db = require("../db"); //引入数据库封装模块 /* GET home page. */ router.get('/', function(req, res, next) { //查询users表 db.query("SELECT * FROM USERS",[],function(results,fields){ console.log(results); res.render('index', { title: 'Express11' }); }) }); module.exports = router;
刷新首页,查看打印结果
very nice,封装完成,接下来就是封装增删改查,完善数据库操作方法了。
三、最后
路漫漫其修远兮,框架到目前也算是有了个大概,接下来,就要开始填充内容了。
参考文章:https://blog.csdn.net/crazy_jialin/article/details/78042855
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
JavaScript是一个动态类型语言,在运行时获取变量类型是常用操作。本文将通过示例为大家详细讲讲在JavaScript中如何判断变量类型,感兴趣的可以学习一下
这篇文章主要介绍了nodejs将JSON字符串转化为JSON对象报错的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
方法:1、利用var语句声明两个变量并赋值,语法为“var a=数值1;var b=数值2;”;2、利用“*”相乘运算符计算两个变量的乘积,语法为“var res=a*b;”;3、利用alert()方法将计算结果输出即可。
这篇文章主要介绍了javascript对象3个属性特征,writable可写、enumerable可枚举、configurable可配置,下面来看看文章的详细内容吧
本文实例为大家分享了微信小程序实现轮播图指示器的具体代码,供大家参考,具体内容如下1.文件目录2.轮播图页面布局需求:自定义轮播指示器:当轮播图发生变化时,自定义轮播指示器跟随图片发生对应改变bindchange:current 改变时会触发 change 事件,即当图片索引发生变化时触发的事件current:当前所在
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008