[英]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.