import DBConnection from './DBConnection'; import PaginationList from "./PaginationList"; export default abstract class SearchCriteria { /** * 查询符合条件的记录数量 * @param conn * @param sql * @param params * @private */ private queryCount; /** * 在将行记录转换成对象后的回调函数 * @protected */ protected getPostConstructor(): any; /** * 判断是否为空 * @param s * @protected */ protected isNotEmpty(s: string): boolean; /** * 封装like查询值 * @param s * @protected */ protected wrapLikeMatch(s: string): string; protected abstract getSQL(): string; protected getOrderClause(): string; protected abstract getParams(): Array; /** * 执行查询语句,返回分页查询结果 * @param conn * @param page * @param rowCount */ paginationQuery(conn: DBConnection, page: any, rowCount: any): Promise; /** * 不分页,返回所有符合条件的记录 * @param conn */ query(conn: DBConnection): Promise>; }