Node.js连接Mysql,并把连接集成进Express中间件中
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Node.js连接Mysql,并把连接集成进Express中间件中,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2793字,纯文字阅读大概需要4分钟。
内容图文
![Node.js连接Mysql,并把连接集成进Express中间件中](/upload/InfoBanner/zyjiaocheng/461/0394d9f0519e4d50b414aaff233efa29.jpg)
connection.end();
连接池
引入连接池后,最省事之处就是你不用每次用完以后去手动关闭connection。连接池的option还有很多选项,可以根据自己的需要来配置。
var mysql = require(‘mysql‘); var pool = mysql.createPool({ connectionLimit : 10, host : ‘example.org‘, user : ‘bob‘, password : ‘secret‘ }); pool.query(‘select * from solution‘, function(err, rows, fields) { if (err) throw err; console.log(‘The solution is: ‘, rows); });
当然如果你的应用没有那么多,而你对连接池回收机制又不放心,也可以手动关闭连接实现把连接放回到资源池里,调用connection.release()
pool.getConnection(function(err, connection) { // Use the connection connection.query( ‘SELECT something FROM sometable‘, function(err, rows) { // And done with the connection. connection.release(); // Don‘t use the connection here, it has been returned to the pool. }); });
关闭整个连接池的连接
pool.end(function (err) { // all connections in the pool have ended });
express-myconnection
express-myconnection是一个Connect/Express自动提供mysql 连接的中间件。 共提供三中策略管理db连接。
- single。 创建单数据库应用实例,连接从不会关闭,万一连接因故障断掉,它还会重新连接。
- pool。 基于应用程序实例创建连接池,并且对每一个请求从连接池里提供连接,连接在每次response会自动释放返回到连接池里去。
- request。 针对每个request创建新的连接, 并且在response结束时会自动关闭。
这也是我在项目里所使用的方法,因为业务逻辑不复杂,没有封装db层,直接在app.js里配置,然后在路由层里直接调用。
app.js
var mysql = require(‘mysql‘), myConnection = require(‘express-myconnection‘), dbOptions = { host: ‘localhost‘, user: ‘dbuser‘, password: ‘password‘, port: 3306, database: ‘mydb‘ }; app.use(myConnection(mysql, dbOptions, ‘single‘); //作为中间件来使用
/router/order.js 在路由文件里应用
在这里也可以调用存储过程:conn.query(‘call usp_test‘,[传参数],function(err,result))
router.get(‘/cost‘, function(req, res, next) { req.getConnection(function(err, conn) { if (err) { return next(err); } else { conn.query(‘select * from test‘, [], function(err,result) { if (err) { return next(err); } else { res.Json(result); //可以直接把结果集转化Json返回给客户端 } }); } }); });
参考资料
https://tonicdev.com/npm/express-myconnection
http://expressjs.com/en/guide/database-integration.html
https://www.terlici.com/2015/08/13/mysql-node-express.html
Node.js连接Mysql,并把连接集成进Express中间件中
标签:
本文系统来源:http://www.cnblogs.com/sword-successful/p/5234890.html
内容总结
以上是互联网集市为您收集整理的Node.js连接Mysql,并把连接集成进Express中间件中全部内容,希望文章能够帮你解决Node.js连接Mysql,并把连接集成进Express中间件中所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。