UNPKG

ticatec-node-common-library

Version:

A set of common classes for node express apps.

90 lines 2.92 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); class DBConnection { /** * 执行select查询语句,返回数据列表 * @param sql * @param params * @param postConstruction */ listQuery(sql, params, postConstruction) { return __awaiter(this, void 0, void 0, function* () { let result = yield this.fetchData(sql, params, postConstruction); let list = this.resultToList(result); if (postConstruction) { list.forEach(data => postConstruction(data)); } return list; }); } /** * 查询单条记录,如果有多条,返回第一条 * @param sql * @param params * @param postConstruction */ find(sql, params, postConstruction) { return __awaiter(this, void 0, void 0, function* () { let result = yield this.fetchData(sql, params, postConstruction); let row = this.getFirstRow(result); if (row && postConstruction) { postConstruction(row); } return row; }); } /** * 下划线转换驼峰 * @param name * @returns {*} */ toCamel(name) { return name.replace(/\_(\w)/g, (all, letter) => { return letter.toUpperCase(); }); } /** * 构建字段对应列表 * @param fields * @protected */ buildFieldsMap(fields) { return null; } /** * 将返回的多行数据转换成数组对象 * @param result * @protected */ resultToList(result) { let list = []; let fields = this.buildFieldsMap(result.fields); result.rows.forEach(row => { let obj = {}; fields.forEach((value, key) => { obj[value] = row[key]; }); list.push(obj); }); return list; } /** * 返回设定结果集大小的附加语句 * @param rowCount * @param offset */ getRowSetLimitClause(rowCount, offset) { return ` limit ${rowCount} offset ${offset}`; } } exports.default = DBConnection; //# sourceMappingURL=DBConnection.js.map