谁知道哪里可以找到node以及koa2链接sql,以及写接口的demo,求分享个地址啊,谢谢大佬们
@im-here node以及koa2中如何连数据库sql啊
@mschange 什么数据库你得说清楚啊 我发给你的是mysql的连接方式
@im-here 我说的就是mysql,在node项目中如何连啊
@mschange 我发给你的连接打开看了么?里面都有demo啊, 非要我把代码给你贴出来…
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'me',
password : 'secret',
database : 'my_db'
});
connection.connect();
connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results[0].solution);
});
connection.end();
@im-here 我看你发的npm包了,没看懂,尴尬,谢谢你,我看看你发的这些,我没有连过数据库,我想用koa2出接口,前后端分离,但是不知道该怎么搞
@im-here 能不能跟你学koa2?
@mschange 自己网上找资料吧,这东西现在已经很成熟了,文档教程什么的一搜一大把
@im-here 行吧
看mysql文档学习很有必要,但真正使用还是建议使用成熟的框架,比如orm和事务等特性都有很好的封装。建议从EggJS上手,然后再参考一下CabloyJS
@zhennann koa2都没完明白,现在去直接egg,没有效果的,兄弟
const config = require('../config')
var connection = mysql.createConnection({
host: config.database.HOST,
user: config.database.USERNAME,
password: config.database.PASSWORD,
database: config.database.DATABASE
})
var pool = mysql.createPool({
host: config.database.HOST,
user: config.database.USERNAME,
password: config.database.PASSWORD,
database: config.database.DATABASE
})
module.exports = {
queryPromise: function(sql, params) {
return new Promise((resolve, reject) => {
connection.connect(async function(err) {
if (err) {
console.error('连接出错: ' + err.stack)
throw err
}
console.log('Database connection successful, connected as id ' + connection.threadId)
console.info(sql, params)
connection.query(sql, params, function(err, results, fields) {
if (err) reject(err)
console.log(`插入数据: ${results.affectedRows} 行; 更新数据: ${results.changedRows} 行`)
resolve(results)
connection.end(function(err) {
if (err) {
console.error('数据库关闭失败' + err)
throw err
}
console.log('数据库关闭')
})
})
})
})
},
queryPoolPromise: function(sql, params) {
return new Promise((resolve, reject) => {
pool.getConnection(function(err, connection) {
if (err) {
console.log('连接出错:' + err)
reject(err)
}
console.log('Database connection successful, connected as id ' + connection.threadId)
console.info('SQL查询语句', sql, params)
connection.query(sql, params, function(err, results, fields) {
if (err) throw err
let length = results.length ? results.length : 0
console.log(`返回数据: ${length} 条;`)
resolve(results)
connection.release()
console.info('连接使用完成,返回到连接池')
})
})
})
}
}
直接用mysql2包连接 或者 orm如:sequelize 进行连接
@afacode 可以跟你学koa2吗
@OXOYO 你们谁带我学学koa2啊
@mschange 跟狼叔学吧,我还是小白
@OXOYO 狼叔发的都是文章,讲的都是概念性的
@mschange 好吧,那可以看看我这个人项目吧 前端Vue:https://github.com/OXOYO/X-WebDesktop-Vue 后端Koa:https://github.com/OXOYO/X-WebDesktop-Api-Koa 线上预览:http://47.93.49.248/X-WebDesktop-Vue
前端技术栈:
vue-cli 脚手架
Vue 核心框架
vue-router 路由
vuex 状态管理
iview UI库
axios Ajax库
animate.css 动画库
webpack 工程化
后端技术栈:
Koa 核心框架
koa-router 路由中间件
koa-cors 跨域中间件
axios Ajax库
jsonwebtoken JsonWebToken
log4js 日志输出
mysql2 数据库
sequelize 数据库ORM
gulp 工程化
pm2 进程管理
@OXOYO 好,能加个口不
我们用的 typeorm 连的,可以参考: https://github.com/notadd/nt-module-user
@songsunli 非常谢谢兄弟们
@zuohuadong 非常谢谢兄弟们
@mschange 群里聊就好 333765077