express连接mysql的操作是怎样,具体怎样做
Admin 2022-08-16 群英技术资讯 547 次浏览
一、说一下
连接不同的数据库需要安装相应的插件,此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做简单的算法,主要是以提问的形式犹如练习小例子然后解决问题并附代码说明,需要的朋友可以参考一下
1.根据端口号,查询进程信息命令:netstat-aon|findstr"端口号"2.根据pid杀死进程命令:taskkill/F/pid进程号 完整代码:constwindowsServiceStop=function(port){letnetstat_command='netstat-aon|findstr\":'+po
目录根据条件判断按钮是否可以点击方法一:使用v-if 、v-else 来判断方法二:增加一个变量,判断vue判断点击当前元素需要判断你是点击了遮罩层还是form表单接下来是分别对e.currentTarget、e.target打印根据条件判断按钮是否可以点击按钮当在特定环境下不可点击,需要根据判断来控制点击事件。方法一
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008