@ticatec/node-common-library
Version:
A comprehensive Node.js database access framework providing robust abstractions for database connection management, SQL execution, transaction handling, pagination, and dynamic query building.
63 lines (62 loc) • 2.27 kB
TypeScript
import DBConnection from "./db/DBConnection";
import { Logger } from 'log4js';
export default abstract class CommonDAO {
protected readonly logger: Logger;
protected constructor();
/**
* 生成32位的uuid
* @protected
* @returns 生成的32位UUID字符串
*/
protected genID(): string;
/**
* 获取count数,默认属性是cc
* @param data - 包含计数信息的数据对象
* @param key - 计数字段的键名,默认为'cc'
* @protected
* @returns 解析后的计数值
*/
protected getCount(data: any, key?: string): number;
/**
* 执行count语句,返回count值
* @param conn - 数据库连接对象
* @param sql - 要执行的count SQL语句
* @param params - SQL参数数组
* @param key - 计数字段的键名,默认为'cc'
* @protected
* @returns Promise返回计数值
*/
protected executeCountSQL(conn: DBConnection, sql: string, params: Array<any>, key?: string): Promise<number>;
/**
* 转换布尔为整数
* @param value - 要转换的布尔值
* @protected
* @returns 布尔值对应的整数 (true=1, false=0)
*/
protected getBooleanValue(value: boolean): number;
/**
* 转换布尔为字符串
* @param value - 要转换的布尔值
* @protected
* @returns 布尔值对应的字符串 (true='T', false='F')
*/
protected getBoolean(value: boolean): string;
/**
* 将T/F类型的字符串字段转换为boolean类型
* @param data - 要转换的数据对象
* @param fields - 需要转换的字段名数组
* @protected
*/
protected convertBooleanFields(data: any, fields: Array<string>): void;
/**
* 快速查询,返回分页记录
* @param conn - 数据库连接对象
* @param sql - 查询SQL语句
* @param params - SQL参数数组,默认为空数组
* @param pageNo - 页码,默认为1
* @param rowCount - 每页行数,默认为25
* @protected
* @returns Promise返回包含列表数据和是否有更多数据的对象
*/
protected quickSearch(conn: DBConnection, sql: string, params?: Array<any>, pageNo?: number, rowCount?: number): Promise<any>;
}