[英]How to add parameter in nodejs with mysql
我STUDING与koa2的NodeJS,现在我想read & write & delete & update
在MySQL数据库的信息,我创建了一个名为dbconfig.js
为配置数据库信息,并呼吁其他文件mysql.js
正如书中所说一样以下
const mysql = require('mysql')
const config = require('./dbconfig')
var pool = mysql.createPool({
host : config.database.HOST,
user : config.database.USERNAME,
password : config.database.PASSWORD,
database : config.database.DATABASE,
port : config.database.PORT
});
let query = function( sql, values ) {
return new Promise(( resolve, reject ) => {
pool.getConnection(function(err, connection) {
if (err) {
resolve( err )
} else {
connection.query(sql, values, ( err, rows) => {
if ( err ) {
reject( err )
} else {
resolve( rows )
}
connection.release()
})
}
})
})
}
let findAUser = function () {
let _sql = `
SELECT * FROM user where id =
`
return query(_sql)
}
let deleteAUser = function () {
let _sql = `
DELETE FROM user where id =
`
return query(_sql)
}
let updateAUser = function () {
let _sql = `
UPDATE user set name = where id =
`
return query(_sql)
}
let addAUser = function () {
let _sql = `
insert into user () value ()
`
return query(_sql)
}
module.exports={
findAUser,
deleteAUser,
updateAUser,
addAUser
}
在app.js
,我称它们为const userModel = require('./mysql');userModel.findAUser()
。
但是我不知道写findAUser
, deleteAUser
, updateAUser
, addAUser
,您能帮我吗? 非常感谢。
这里有两件事:
query
功能中,我会将connection.release()
置于拒绝/解决上方。 否则可能不会被调用。 findAUser
函数的示例: 所以看起来可能像这样:
let query = function( sql, values ) {
return new Promise(( resolve, reject ) => {
pool.getConnection(function(err, connection) {
if (err) {
resolve( err )
} else {
connection.query(sql, values, ( err, rows) => {
connection.release()
if ( err ) {
reject( err )
} else {
resolve( rows )
}
})
}
})
})
}
let findAUser = function (id) {
let _sql = `
SELECT * FROM user where id = ?
`
return query(_sql, [id])
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.