@pangza/orm 0.0.0-stage → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/BaseMapper.d.ts +112 -0
- package/dist/BaseMapper.d.ts.map +1 -0
- package/dist/BaseMapper.js +653 -0
- package/dist/BaseMapper.js.map +1 -0
- package/dist/DataSource.d.ts +61 -0
- package/dist/DataSource.d.ts.map +1 -0
- package/dist/DataSource.js +350 -0
- package/dist/DataSource.js.map +1 -0
- package/dist/Db.d.ts +67 -0
- package/dist/Db.d.ts.map +1 -0
- package/dist/Db.js +222 -0
- package/dist/Db.js.map +1 -0
- package/dist/IdType.d.ts +22 -0
- package/dist/IdType.d.ts.map +1 -0
- package/dist/IdType.js +34 -0
- package/dist/IdType.js.map +1 -0
- package/dist/QueryWrapper.d.ts +110 -0
- package/dist/QueryWrapper.d.ts.map +1 -0
- package/dist/QueryWrapper.js +343 -0
- package/dist/QueryWrapper.js.map +1 -0
- package/dist/config.d.ts +12 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +80 -0
- package/dist/config.js.map +1 -0
- package/dist/dialect.d.ts +41 -0
- package/dist/dialect.d.ts.map +1 -0
- package/dist/dialect.js +171 -0
- package/dist/dialect.js.map +1 -0
- package/dist/enable.d.ts +12 -0
- package/dist/enable.d.ts.map +1 -0
- package/dist/enable.js +31 -0
- package/dist/enable.js.map +1 -0
- package/dist/entityDecorators.d.ts +77 -0
- package/dist/entityDecorators.d.ts.map +1 -0
- package/dist/entityDecorators.js +150 -0
- package/dist/entityDecorators.js.map +1 -0
- package/dist/errors.d.ts +11 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +22 -0
- package/dist/errors.js.map +1 -0
- package/dist/fieldSelect.d.ts +49 -0
- package/dist/fieldSelect.d.ts.map +1 -0
- package/dist/fieldSelect.js +53 -0
- package/dist/fieldSelect.js.map +1 -0
- package/dist/fill.d.ts +8 -0
- package/dist/fill.d.ts.map +1 -0
- package/dist/fill.js +47 -0
- package/dist/fill.js.map +1 -0
- package/dist/flag.d.ts +2 -0
- package/dist/flag.d.ts.map +1 -0
- package/dist/flag.js +8 -0
- package/dist/flag.js.map +1 -0
- package/dist/hydrate.d.ts +38 -0
- package/dist/hydrate.d.ts.map +1 -0
- package/dist/hydrate.js +325 -0
- package/dist/hydrate.js.map +1 -0
- package/dist/identifier.d.ts +14 -0
- package/dist/identifier.d.ts.map +1 -0
- package/dist/identifier.js +51 -0
- package/dist/identifier.js.map +1 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +122 -0
- package/dist/index.js.map +1 -0
- package/dist/relation.d.ts +72 -0
- package/dist/relation.d.ts.map +1 -0
- package/dist/relation.js +150 -0
- package/dist/relation.js.map +1 -0
- package/dist/resultMap.d.ts +7 -0
- package/dist/resultMap.d.ts.map +1 -0
- package/dist/resultMap.js +25 -0
- package/dist/resultMap.js.map +1 -0
- package/dist/security.d.ts +16 -0
- package/dist/security.d.ts.map +1 -0
- package/dist/security.js +50 -0
- package/dist/security.js.map +1 -0
- package/dist/sqlDecorators.d.ts +60 -0
- package/dist/sqlDecorators.d.ts.map +1 -0
- package/dist/sqlDecorators.js +147 -0
- package/dist/sqlDecorators.js.map +1 -0
- package/dist/sqlLog.d.ts +30 -0
- package/dist/sqlLog.d.ts.map +1 -0
- package/dist/sqlLog.js +183 -0
- package/dist/sqlLog.js.map +1 -0
- package/dist/sqlTemplate.d.ts +38 -0
- package/dist/sqlTemplate.d.ts.map +1 -0
- package/dist/sqlTemplate.js +112 -0
- package/dist/sqlTemplate.js.map +1 -0
- package/dist/table.d.ts +17 -0
- package/dist/table.d.ts.map +1 -0
- package/dist/table.js +55 -0
- package/dist/table.js.map +1 -0
- package/dist/tableSearch.d.ts +72 -0
- package/dist/tableSearch.d.ts.map +1 -0
- package/dist/tableSearch.js +232 -0
- package/dist/tableSearch.js.map +1 -0
- package/dist/transactional.d.ts +27 -0
- package/dist/transactional.d.ts.map +1 -0
- package/dist/transactional.js +57 -0
- package/dist/transactional.js.map +1 -0
- package/dist/types.d.ts +155 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/xml/MapperXml.d.ts +24 -0
- package/dist/xml/MapperXml.d.ts.map +1 -0
- package/dist/xml/MapperXml.js +92 -0
- package/dist/xml/MapperXml.js.map +1 -0
- package/dist/xml/execute.d.ts +12 -0
- package/dist/xml/execute.d.ts.map +1 -0
- package/dist/xml/execute.js +54 -0
- package/dist/xml/execute.js.map +1 -0
- package/dist/xml/index.d.ts +11 -0
- package/dist/xml/index.d.ts.map +1 -0
- package/dist/xml/index.js +29 -0
- package/dist/xml/index.js.map +1 -0
- package/dist/xml/loadMappers.d.ts +14 -0
- package/dist/xml/loadMappers.d.ts.map +1 -0
- package/dist/xml/loadMappers.js +171 -0
- package/dist/xml/loadMappers.js.map +1 -0
- package/dist/xml/parseMapperXml.d.ts +6 -0
- package/dist/xml/parseMapperXml.d.ts.map +1 -0
- package/dist/xml/parseMapperXml.js +225 -0
- package/dist/xml/parseMapperXml.js.map +1 -0
- package/dist/xml/registry.d.ts +15 -0
- package/dist/xml/registry.d.ts.map +1 -0
- package/dist/xml/registry.js +57 -0
- package/dist/xml/registry.js.map +1 -0
- package/dist/xml/renderSql.d.ts +6 -0
- package/dist/xml/renderSql.d.ts.map +1 -0
- package/dist/xml/renderSql.js +187 -0
- package/dist/xml/renderSql.js.map +1 -0
- package/dist/xml/types.d.ts +52 -0
- package/dist/xml/types.d.ts.map +1 -0
- package/dist/xml/types.js +3 -0
- package/dist/xml/types.js.map +1 -0
- package/dist/xml/xmlMapper.d.ts +16 -0
- package/dist/xml/xmlMapper.d.ts.map +1 -0
- package/dist/xml/xmlMapper.js +49 -0
- package/dist/xml/xmlMapper.js.map +1 -0
- package/package.json +35 -4
package/README.md
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @pangza/orm
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
ORM / Db / Mapper / QueryWrapper
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { QueryWrapper } from "./QueryWrapper";
|
|
2
|
+
import type { IPage, MapperOptions, PageQuery, SelectQueryOptions } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* 通用 Mapper(对齐 MyBatis-Plus BaseMapper)
|
|
5
|
+
* 支持逻辑删除、自动填充、乐观锁(均可配置开关)。
|
|
6
|
+
*/
|
|
7
|
+
export declare class BaseMapper<T extends Record<string, any> = Record<string, any>> {
|
|
8
|
+
private readonly opts;
|
|
9
|
+
private readonly dialect;
|
|
10
|
+
constructor(options: MapperOptions);
|
|
11
|
+
/** 更新字段是否参与 SET(undefined 永不参与;null 受 updateNullStrategy 控制) */
|
|
12
|
+
private shouldWriteUpdateValue;
|
|
13
|
+
private query;
|
|
14
|
+
private tx;
|
|
15
|
+
private cfg;
|
|
16
|
+
/** 是否启用逻辑删除(表级优先,否则读全局) */
|
|
17
|
+
private isLogicDelete;
|
|
18
|
+
/** 是否启用乐观锁(表级优先,否则读全局) */
|
|
19
|
+
private isOptimisticLock;
|
|
20
|
+
/** 未删除条件(对齐 MyBatis-Plus:字段 = 未删除值) */
|
|
21
|
+
private notDeletedClause;
|
|
22
|
+
private tableSql;
|
|
23
|
+
private idSql;
|
|
24
|
+
private colSql;
|
|
25
|
+
/**
|
|
26
|
+
* 把实体属性名映射为列名,并去掉 exist:false 字段,
|
|
27
|
+
* 避免 createTime / create_time 双键写入 SQL。
|
|
28
|
+
*/
|
|
29
|
+
private normalizeEntityRow;
|
|
30
|
+
private columnNames;
|
|
31
|
+
private getColumnNames;
|
|
32
|
+
/** 表上不存在的自动填充字段直接丢掉,避免 Unknown column */
|
|
33
|
+
private stripMissingFillFields;
|
|
34
|
+
private assertLogicDeleteColumn;
|
|
35
|
+
/** 追加未删除条件(不修改调用方 wrapper) */
|
|
36
|
+
private withLogic;
|
|
37
|
+
private hydrateOpts;
|
|
38
|
+
private normalizeListArgs;
|
|
39
|
+
/** 按主键查询 */
|
|
40
|
+
selectById(id: string | number, options?: SelectQueryOptions): Promise<T | null>;
|
|
41
|
+
/** 条件查询单条 */
|
|
42
|
+
selectOne(wrapper?: QueryWrapper, options?: SelectQueryOptions): Promise<T | null>;
|
|
43
|
+
/** WHERE + GROUP BY + HAVING + ORDER BY + LAST(去多余空格) */
|
|
44
|
+
private fragTail;
|
|
45
|
+
/** 有 GROUP BY 时用子查询计组数,否则普通 COUNT */
|
|
46
|
+
private countSqlFromFrag;
|
|
47
|
+
/**
|
|
48
|
+
* 条件查询列表。
|
|
49
|
+
* @param limitOrOptions 数字 limit,或 `{ limit, relations }`
|
|
50
|
+
*/
|
|
51
|
+
selectList(wrapper?: QueryWrapper | SelectQueryOptions, limitOrOptions?: number | SelectQueryOptions): Promise<T[]>;
|
|
52
|
+
/** 条件计数(含 GROUP BY 时返回分组行数) */
|
|
53
|
+
selectCount(wrapper?: QueryWrapper): Promise<number>;
|
|
54
|
+
/** 分页查询 */
|
|
55
|
+
selectPage(page?: PageQuery, wrapper?: QueryWrapper, options?: SelectQueryOptions): Promise<IPage<T>>;
|
|
56
|
+
/** 解析有效主键策略 */
|
|
57
|
+
private resolveIdType;
|
|
58
|
+
/** 插入前按 IdType 填充 / 剥离主键 */
|
|
59
|
+
private applyIdOnInsert;
|
|
60
|
+
/** 把生成的主键回写到原始实体 */
|
|
61
|
+
private writeBackId;
|
|
62
|
+
/** 插入,返回自增 id(若有);ASSIGN_* 时尽量回写实体并返回可解析的数字 */
|
|
63
|
+
insert(entity: Partial<T>): Promise<number>;
|
|
64
|
+
/**
|
|
65
|
+
* 批量插入,返回影响行数。
|
|
66
|
+
* 多行一条 INSERT,按 `orm.batch.insertSize`(默认 200)分批。
|
|
67
|
+
*/
|
|
68
|
+
saveBatch(entities: Array<Partial<T>>): Promise<number>;
|
|
69
|
+
private prepareInsertRow;
|
|
70
|
+
private insertOne;
|
|
71
|
+
/** 多行同一列集合;缺省列写 NULL */
|
|
72
|
+
private insertMany;
|
|
73
|
+
/** 按主键更新(忽略 undefined 字段) */
|
|
74
|
+
updateById(entity: Partial<T>): Promise<number>;
|
|
75
|
+
/**
|
|
76
|
+
* 有主键且库中存在则 updateById,否则 insert。
|
|
77
|
+
* 返回影响行数(insert / update 语义与各自方法一致)。
|
|
78
|
+
*/
|
|
79
|
+
saveOrUpdate(entity: Partial<T>): Promise<number>;
|
|
80
|
+
/**
|
|
81
|
+
* 按主键批量更新(逐条 updateById,同一事务)。
|
|
82
|
+
* 分批大小取 `orm.batch.updateSize`(默认 200)。
|
|
83
|
+
*/
|
|
84
|
+
updateBatch(entities: Array<Partial<T>>): Promise<number>;
|
|
85
|
+
/** 条件更新 */
|
|
86
|
+
update(entity: Partial<T>, wrapper: QueryWrapper): Promise<number>;
|
|
87
|
+
/** 按主键删除(开启逻辑删除时改为 UPDATE) */
|
|
88
|
+
deleteById(id: string | number): Promise<number>;
|
|
89
|
+
/**
|
|
90
|
+
* 按主键批量删除,返回影响行数。
|
|
91
|
+
* 开启逻辑删除时一条 UPDATE ... IN (...),否则物理 DELETE。
|
|
92
|
+
*/
|
|
93
|
+
deleteByIds(ids: Array<string | number>): Promise<number>;
|
|
94
|
+
/**
|
|
95
|
+
* 按主键物理删除(始终 DELETE,忽略逻辑删除开关)。
|
|
96
|
+
* 用于彻底清除或回收站清空。
|
|
97
|
+
*/
|
|
98
|
+
physicalDeleteById(id: string | number): Promise<number>;
|
|
99
|
+
/** 按主键批量物理删除 */
|
|
100
|
+
physicalDeleteByIds(ids: Array<string | number>): Promise<number>;
|
|
101
|
+
/** 条件删除(开启逻辑删除时改为 UPDATE) */
|
|
102
|
+
delete(wrapper: QueryWrapper): Promise<number>;
|
|
103
|
+
/**
|
|
104
|
+
* 条件物理删除(始终 DELETE)。
|
|
105
|
+
* 必须带 WHERE;不会自动附加「未删除」条件(可删已逻辑删除行)。
|
|
106
|
+
*/
|
|
107
|
+
physicalDelete(wrapper: QueryWrapper): Promise<number>;
|
|
108
|
+
private deleteByIdsInternal;
|
|
109
|
+
private deleteByWrapper;
|
|
110
|
+
private logicDeleteBy;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=BaseMapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseMapper.d.ts","sourceRoot":"","sources":["../src/BaseMapper.ts"],"names":[],"mappings":"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"}
|