@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.
32 lines (31 loc) • 1.07 kB
TypeScript
import DBConnection from "./db/DBConnection";
import { Logger } from "log4js";
export default abstract class CommonService {
protected readonly logger: Logger;
protected constructor();
/**
* 获取数据库连接
* @protected
* @returns Promise返回数据库连接对象
*/
protected getDBConnection(): Promise<DBConnection>;
/**
* 获取对应的DAO实例
* @param name - DAO的名称
* @protected
* @returns DAO实例对象
*/
protected getDAOInstance(name: string): any;
/**
* 在事务中运行数据库操作,自动处理事务的开始、提交和回滚
* @param dbProcessor - 数据库处理函数,接收数据库连接作为参数
* @returns Promise返回处理结果
*/
executeInTx: (dbProcessor: any) => Promise<any>;
/**
* 在非事务中运行数据库操作
* @param dbProcessor - 数据库处理函数,接收数据库连接作为参数
* @returns Promise返回处理结果
*/
executeNonTx: (dbProcessor: any) => Promise<any>;
}