(菜鸟劣作,大神勿喷)
//Lemon——LimCong制作
var mysql = require('mysql');
/**
* 异步封装,使用时可以用await实现异步方法同步编程
* @param {Object} conn - 连接池对象
* @param {String} str - 处理好的sql语句
* @param {Number} isfind - 是否是查询语句0-不是 1-查询多个 2-id查询
*/
const createAsyncAction = async (conn, str, isfind = 0) => {
return new Promise((resolve, reject) => {
conn.query(str, function (err, data, field) {
//查询出错,抛出reject
if (err) {
reject({
err })
return
}
//存在第三个参数,是查询语句
if (field) {
//是否是id查询
const findData = isfind == 2 ? data[0] : data;
resolve({
data: findData, field });
return
}
//其他语句
resolve({
field: data });
})
})
}
/**
* 构造器 默认连接本地库,如想变成通用Helper,请加参。
* 本Helper的对象单位是表。
* 类的对象为:
* conn -> Object -> mysql的Connection
* table -> String -> 表名
*/
class MysqlHelper {
/**
*
* @param {String} database - 数据库名
* @param {String} table - 表名
*/
constructor(database, table) {
this.conn = mysql.createConnection({
host: "localhost",
user: "root",
password: "19990529",
port: "3306",
database: database
});
this.table = table;
}
/**
* 构造成功后需执行该方法才能正常使用。
* 该方法封装了连接方法。
*/
baseBegin() {
this.conn.connect((err) => {
if (err)