nodejs 连接 mysql 辅助方法
生成 mysql 便捷执行器
-
config
(Config) - mysql 连接信息-
host
(string) - 服务地址/IP -
port
(string) - 端口 -
user
(string) - 用户名 -
password
(string) - 密码 -
database
(string) - 数据库名称 -
multipleStatements
(boolean) - 一次执行多条 sql
-
-
object
(Object) - 操作器对象-
executor
((sql: Sql) => Promise) - 执行器 -
insert
((options: InsertOptions) => Promise) - 插入执行器 -
del
((options: DeleteOptions) => Promise) - 删除执行器 -
update
((options: UpdateOptions) => Promise) - 更新执行器 -
detail
((options: SelectOptions) => Promise) - 详情执行器 -
list
((options: SelectOptions) => Promise) - 列表执行器 -
pageList
((options: SelectOptions) => Promise) - 分页列表执行器
InsertOptions、DeleteOptions、UpdateOptions、SelectOptions 详细信息请查看下文的拼接字符串部分
-
生成 mysql 执行器
-
config
(Config) - mysql 连接信息-
host
(string) - 服务地址/IP -
port
(string) - 端口 -
user
(string) - 用户名 -
password
(string) - 密码 -
database
(string) - 数据库名称 -
multipleStatements
(boolean) - 一次执行多条 sql
-
((sql: Sql) => Promise) - 执行器
调用 genExecutor 生产的执行器方法 executor
-
sql
(Sql)-
sqlStr
(string) - sql 字符串 -
params
((string | number | boolean)[]) - mysql2 包中 connection.query 方法接收的第二个参数
-
connection.query 查询结果
拼接 insert sql 字符串
-
table
(string) - 表格名称 -
key
(string) - 插入行对应的 key -
values
(string) - 插入行对应的 values
(string) - 拼接后的 insert sql 字符串
拼接 delete sql 字符串
-
table
(string) - 表格名称 -
where
(string) - 删除条件
(string) - 拼接后的 delete sql 字符串
拼接 update sql 字符串
-
table
(string) - 表格名称 -
set
(string) - 更新字段字符串 -
where
(string) - 更新条件
(string) - 拼接后的 update sql 字符串
拼接 select sql 字符串
-
select
(string) - 查询字段 -
table
(string) - 表格名称 -
where
? (string) - 过滤条件 -
pageInfo
? (PageInfo) - 分页对象-
pageIndex
(number) - 查询页码(起始:1) -
pageSize
(number) - 单页条数
-
(string) - 拼接后的 select sql 字符串
标准返回对象
-
success
(boolean) - 返回成功/失败 -
message
(string) - 返回信息 -
errorCode
(string) - 错误码 -
data
? (T=any) - 返回数据对象
生成获取返回对象方法,用于添加扩展错误信息
-
errorMessage
? (Record<string, string>) - 附加自定义错误信息
(<T = any>(options?: Partial<ApiRes>) => ApiRes) - 获取返回对象方法
调用 genGetApiResult 方法,返回的 getApiResult
-
options
(Partial) - ApiRes 对象可选化
(ApiRes) - 标准返回对象
const res = {
success: true,
message: _errorMessage[ERROR_CODE.SUCCESS], // “成功”
errorCode: ERROR_CODE.SUCCESS, // "SUCCESS"
};
const res = {
success: false,
message: _errorMessage[ERROR_CODE.FAIL], // “失败”
errorCode: ERROR_CODE.FAIL, // "FAIL"
};
const res = {
success: false,
message: _errorMessage[errorCode], // 自动匹配对应错误信息
errorCode: errorCode, // 传入的 errorCode
};
/** 错误码 */
export enum ERROR_CODE {
SUCCESS = 'SUCCESS',
FAIL = 'FAIL',
SYSTEM_ERROR = 'SYSTEM_ERROR',
NOT_FOUND = 'NOT_FOUND',
MISSING_PARAMS = 'MISSING_PARAMS',
}
/** 错误信息 */
export const ErrorMessage: Record<ERROR_CODE, string> = {
[ERROR_CODE.SUCCESS]: '成功',
[ERROR_CODE.FAIL]: '失败',
[ERROR_CODE.SYSTEM_ERROR]: '系统错误',
[ERROR_CODE.NOT_FOUND]: '找不到对应信息',
[ERROR_CODE.MISSING_PARAMS]: '缺少必传参数',
};
检查 params 对象中是否存在值为 undefined 的属性
-
params
(Record<string | number | symbol, any>) - 检查对象 -
keys
? ((number | string | symbol)[]) - 检查属性名称集合
(boolean) - 是否存在