@pakwoon/mysql-utils
v1.1.4
Published
nodejs 连接 mysql 辅助方法
Downloads
31
Readme
@pakwoon/mysql-utils
nodejs 连接 mysql 辅助方法
便捷操作
genOperation
生成 mysql 便捷执行器
入参
config
(Config) - mysql 连接信息host
(string) - 服务地址/IPport
(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
genExecutor
生成 mysql 执行器
入参
config
(Config) - mysql 连接信息host
(string) - 服务地址/IPport
(string) - 端口user
(string) - 用户名password
(string) - 密码database
(string) - 数据库名称multipleStatements
(boolean) - 一次执行多条 sql
返回
((sql: Sql) => Promise) - 执行器
executor
调用 genExecutor 生产的执行器方法 executor
入参
sql
(Sql)sqlStr
(string) - sql 字符串params
((string | number | boolean)[]) - mysql2 包中 connection.query 方法接收的第二个参数
返回
connection.query 查询结果
sql 字符串便捷拼接
getInsertSqlStr
拼接 insert sql 字符串
入参 - InsertOptions
table
(string) - 表格名称key
(string) - 插入行对应的 keyvalues
(string) - 插入行对应的 values
返回
(string) - 拼接后的 insert sql 字符串
getDeleteSqlStr
拼接 delete sql 字符串
入参 - DeleteOptions
table
(string) - 表格名称where
(string) - 删除条件
返回
(string) - 拼接后的 delete sql 字符串
getUpdateSqlStr
拼接 update sql 字符串
入参 - UpdateOptions
table
(string) - 表格名称set
(string) - 更新字段字符串where
(string) - 更新条件
返回
(string) - 拼接后的 update sql 字符串
getSelectSqlStr
拼接 select sql 字符串
入参 - SelectOptions
select
(string) - 查询字段table
(string) - 表格名称where
? (string) - 过滤条件pageInfo
? (PageInfo) - 分页对象pageIndex
(number) - 查询页码(起始:1)pageSize
(number) - 单页条数
返回
(string) - 拼接后的 select sql 字符串
获取标准返回对象
ApiRes
标准返回对象
属性
success
(boolean) - 返回成功/失败message
(string) - 返回信息errorCode
(string) - 错误码data
? (T=any) - 返回数据对象
genGetApiResult
生成获取返回对象方法,用于添加扩展错误信息
入参
errorMessage
? (Record<string, string>) - 附加自定义错误信息
返回
(<T = any>(options?: Partial<ApiRes>) => ApiRes) - 获取返回对象方法
getApiResult
调用 genGetApiResult 方法,返回的 getApiResult
入参
options
(Partial) - ApiRes 对象可选化
返回
(ApiRes) - 标准返回对象
内部逻辑
默认返沪成功的标准返回对象
const res = {
success: true,
message: _errorMessage[ERROR_CODE.SUCCESS], // “成功”
errorCode: ERROR_CODE.SUCCESS, // "SUCCESS"
};
options.success === false 并无传入 options.errorCode
const res = {
success: false,
message: _errorMessage[ERROR_CODE.FAIL], // “失败”
errorCode: ERROR_CODE.FAIL, // "FAIL"
};
options.errorCode 传入并不等于 “SUCCESS“
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]: '缺少必传参数',
};
辅助方法
missingParams
检查 params 对象中是否存在值为 undefined 的属性
入参
params
(Record<string | number | symbol, any>) - 检查对象keys
? ((number | string | symbol)[]) - 检查属性名称集合
返回
(boolean) - 是否存在