92 lines
1.3 KiB
JavaScript
92 lines
1.3 KiB
JavaScript
const pool = require('./index')
|
|
|
|
/**
|
|
* 查询全部
|
|
*/
|
|
async function findAll(table) {
|
|
const [rows] = await pool.query(
|
|
`SELECT * FROM ${table}`
|
|
)
|
|
|
|
return rows
|
|
}
|
|
|
|
/**
|
|
* 根据ID查询
|
|
*/
|
|
async function findById(table, id) {
|
|
const [rows] = await pool.query(
|
|
`SELECT * FROM ${table} WHERE id = ?`,
|
|
[id]
|
|
)
|
|
|
|
return rows[0]
|
|
}
|
|
|
|
/**
|
|
* 新增
|
|
*/
|
|
async function create(table, data) {
|
|
const keys = Object.keys(data)
|
|
const values = Object.values(data)
|
|
|
|
const fields = keys.join(',')
|
|
|
|
const placeholders = keys.map(() => '?').join(',')
|
|
|
|
const sql = `
|
|
INSERT INTO ${table}
|
|
(${fields})
|
|
VALUES (${placeholders})
|
|
`
|
|
|
|
const [result] = await pool.query(sql, values)
|
|
|
|
return result
|
|
}
|
|
|
|
/**
|
|
* 更新
|
|
*/
|
|
async function update(table, id, data) {
|
|
const keys = Object.keys(data)
|
|
const values = Object.values(data)
|
|
|
|
const setStr = keys
|
|
.map(key => `${key} = ?`)
|
|
.join(',')
|
|
|
|
const sql = `
|
|
UPDATE ${table}
|
|
SET ${setStr}
|
|
WHERE id = ?
|
|
`
|
|
|
|
const [result] = await pool.query(
|
|
sql,
|
|
[...values, id]
|
|
)
|
|
|
|
return result
|
|
}
|
|
|
|
/**
|
|
* 删除
|
|
*/
|
|
async function remove(table, id) {
|
|
const [result] = await pool.query(
|
|
`DELETE FROM ${table} WHERE id = ?`,
|
|
[id]
|
|
)
|
|
|
|
return result
|
|
}
|
|
|
|
module.exports = {
|
|
findAll,
|
|
findById,
|
|
create,
|
|
update,
|
|
remove
|
|
}
|