# com.primeton.gocom.afcenter.common.dao.DatabaseDao
# 构件包说明
该运算逻辑类基于 EOS 框架实现,提供对 SDO 实体的基本数据库操作。它默认根据 SDO 实体的配置自动获取数据源,并支持在 AFCENTER 平台中配置的数据权限控制。通过该类进行的数据库操作,能够确保所有数据权限规则得到正确应用。
# 运算逻辑构件使用说明
序号 | 方法 | 功能描述 |
---|---|---|
1 | getDao(String datasourceName) | 获取某一个数据源的DAO |
2 | newEntity(String entityName, Object fromObj) | 创建一个实体 |
3 | newCb(Object entityNameOrSdoOrType) | 根据SDO实体信息创建一个CriteriaBuilder |
4 | getPrimaryKeyNames(String entityName) | 获取主键名称列表 |
5 | getPrimaryKey(E entity) | 获取主键序列号的值 |
6 | getPrimaryKey(E entity, boolean isForce, String keyPrefix) | 获取主键序列号的值 |
7 | getEntity(E entity) | 根据主键扩展查询一条记录 |
8 | getEntityByKey(String entityName, Object keyValues) | 根据主键查询一条记录 |
9 | getEntityByProperty(String entityName, Object... propertyNameAndValues) | 使用属性查询一条记录 |
10 | getEntityByCriteriaBuilder(CriteriaBuilder cb) | 使用查询条件查询一条记录 |
11 | getEntityByTemplate(E template) | 使用模板查询的一条记录填充T,并返回满足模板条件的记录数 |
12 | expandRelation(E entity, String... propertyNames) | 扩展一个数据实体对象的一个关联属性(如对一个懒加载的属性),会进行数据库的查询 |
13 | expandRelations(Object entityOrCollectionOrArray, String... propertyNames) | 扩展一个数据实体对象的一个关联属性(如对一个懒加载的属性),会进行数据库的查询 |
14 | expandAllRelations(Object entityOrCollectionOrArray) | 查询所有关联(1:N) |
15 | expandAllRelations(Object entityOrCollectionOrArray, int deep) | 查询所有关联(1:N)并指定关联深度 |
16 | expandLobProperty(E entity, String... lobPropertyNames) | 扩展一个数据实体对象的一个lob属性(如对一个懒加载的属性),会进行数据库的查询 |
17 | queryEntitiesByKey(String entityName, Object keyValues) | 根据主键查询实体 |
18 | queryEntitiesByProperty(String entityName, Object... propertyNameAndValues) | 根据SDO数据模板查询条件查询所有记录,会查询Entity的所有字段 |
19 | queryEntitiesByProperty(int begin, int length, String entityName, Object... propertyNameAndValues) | 根据SDO数据模板查询条件查询所有记录,会查询Entity的所有字段 |
20 | queryEntitiesByPropertyWithPage(int pageIndex, int pageSize, String entityName, Object... propertyNameAndValues) | 根据SDO数据模板查询条件查询所有记录,会查询Entity的所有字段 |
21 | queryEntitiesByCriteriaBuilder(CriteriaBuilder cb) | 根据查询条件查询所有记录,根据查询条件实体指定查询Entity的字段 |
22 | queryEntitiesByCriteriaBuilder(CriteriaBuilder cb, int begin, int length) | 根据查询条件查询所有记录,根据查询条件实体指定查询Entity的字段 |
23 | queryEntitiesByCriteriaBuilderWithPage(CriteriaBuilder cb, int pageIndex, int pageSize) | 根据查询条件分页查询所有记录,根据查询条件实体指定查询Entity的字段 |
24 | queryEntitiesByTemplate(E template) | 根据SDO数据模板查询条件查询部分记录,会查询Entity的所有字段 |
25 | queryEntitiesByTemplate(E template, int begin, int length) | 根据SDO数据模板查询条件查询部分记录,会查询Entity的所有字段 |
26 | queryEntitiesByTemplateWithPage(E template, int pageIndex, int pageSize) | 根据SDO数据模板查询条件分页查询部分记录,会查询Entity的所有字段 |
27 | countByEntity(E entity) | 根据实体统计记录数 |
28 | countByKey(String entityName, Object keyValues) | 根据实体统计记录数。(单主键) |
29 | countByProperty(String entityName, Object... propertyNameAndValues) | 根据属性统计记录数 |
30 | countByCriteriaBuilder(CriteriaBuilder cb) | 根据查询条件条件统计记录数 |
31 | countByTemplate(E template) | 根据SDO数据模板查询条件统计记录数 |
32 | insertEntity(Object entityOrCollectionOrArray) | 插入记录 |
33 | insertEntityCascade(Object entityOrCollectionOrArray) | 级联插入记录。(自动设置用户和时间,不自动生成主键) |
34 | insertEntity(Object entityOrCollectionOrArray, boolean isSetUserAndTime, boolean isAutoSetPrimary, int cascadeDeep) | 插入记录。(不自动生成主键,不级联) |
35 | updateEntity(Object entityOrCollectionOrArray) | 更新记录。(自动设置用户和时间,不级联) |
36 | updateEntityCascade(Object entityOrCollectionOrArray) | 级联更新记录。(自动设置用户和时间) |
37 | updateEntity(Object entityOrCollectionOrArray, boolean isSetUserAndTime, int cascadeDeep, boolean isPartUpdate) | 更新记录 |
38 | saveEntity(Object entityOrCollectionOrArray) | 保存记录。如果没有,则会插入,否则就更新。(自动设置用户和时间,不自动生成主键,不级联) |
39 | saveEntityCascade(Object entityOrCollectionOrArray) | 级联保存记录。如果没有,则会插入,否则就更新。(自动设置用户和时间,不自动生成主键) |
40 | saveEntity(Object entityOrCollectionOrArray, boolean isSetUserAndTime, boolean isAutoSetPrimary, int cascadeDeep, boolean isPartUpdate) | 保存记录。如果没有,则会插入,否则就更新。(自动设置用户和时间,不自动生成主键,不级联) |
41 | deleteEntity(Object entityOrCollectionOrArray) | 根据主键删除记录 |
42 | deleteEntityCascade(Object entityOrCollectionOrArray) | 根据主键级联删除记录 |
43 | deleteEntity(Object entityOrCollectionOrArray, int cascadeDeep) | 根据主键删除记录 |
44 | deleteEntityByKey(String entityName, Object keyValues) | 根据主键删除一条记录,如果T中有非主键的属性值,将根据主键查询出来覆盖原来的属性。(单主键) |
45 | deleteEntityByProperty(String entityName, Object... propertyNameAndValues) | 根据属性条件批量删除 |
46 | deleteEntityByCriteriaBuilder(CriteriaBuilder cb) | 根据查询条件删除记录 |
47 | deleteEntityByCriteriaBuilder(CriteriaBuilder cb, boolean mustWhereCondition) | 根据查询条件删除记录 |
48 | deleteEntityByTemplate(E template) | 根据SDO数据模板查询条件删除记录 |
49 | queryByNamedSql(String nameSqlId, Object parameterObject) | 根据命名sql查询 |
50 | queryByNamedSql(String nameSqlId, Object parameterObject, int begin, int length) | 根据命名sql查询 |
51 | queryByNamedSqlWithPage(String nameSqlId, Object parameterObject, int pageIndex, int pageSize) | 根据命名sql分页查询 |
52 | executeByNamedSql(String nameSqlId, Object parameterObject) | 执行命名sql |
53 | executeByNamedSqlBatch(String nameSqlId, Object parameterObjectCollectionOrArray) | 批量执行命名sql |
# getDao:获取指定数据源的DAO
# 【功能说明】
根据数据源名称获取该数据源的dao,以用于后续对该数据源表执行数据库操作。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.getDao,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | datasourceName | String | 数据源名称 |
返回值 | AbstractDatabaseDao | AbstractDatabaseDao | 数据源dao |
- 调用示例
AbstractDatabaseDao dao = DatabaseDao.getDao(datasourceName);
pubilc static <E extends DataObject> PageResultList<E> queryWithPage(CriteriaBuilder cb, int pageIndex, int pageSize) {
return cb.dao(dao).queryWithPage(pageIndex, pageSize);
}
# newEntity:创建一个实体
# 【功能说明】
根据实体名称创建该SDO实体,并将源数据实体中的属性映射到SDO实体中。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.newEntity,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityName | String | 实体名称 |
参数 | fromObj | Object | 源数据对象 |
返回值 | DataObject | DataObject | DataObject实体 |
- 调用示例
//这个源数据对象以Map示例
Map<String, Object> params = new HashMap<>();
params.put("name","张三");
params.put("code","zs");
String entityName = "com.primeton.gocom.afcenter.model.org.Employee";
Employee employee = DatabaseDao.newEntity(entityName, params)
# newCb:创建一个CriteriaBuilder对象实体
# 【功能说明】
根据实体名或SDO实体或实体类型称创建一个CriteriaBuilder对象实体,以用于后续对该数据源表执行数据库操作。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.newCb,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityNameOrSdoOrType | Object | 实体名称或SDO实体或实体类型 |
返回值 | CriteriaBuilder | CriteriaBuilder | CriteriaBuilder实体 |
- 调用示例
String entityName = "com.primeton.gocom.afcenter.model.org.Employee";
CriteriaBuilder cb = DatabaseDao.newCb(entityName);
cb.dao(getDao()).queryWithPage(pageIndex, pageSize);
# getPrimaryKeyNames:获取主键名称列表
# 【功能说明】
根据实体名查询SDO实体主键,返回一个主键列表。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.getPrimaryKeyNames,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityName | String | 实体名称 |
返回值 | keyNames | String[] | 主键数组 |
- 调用示例
String entityName = "com.primeton.gocom.afcenter.model.org.Employee";
String[] keyNames = DatabaseDao.getPrimaryKeyNames(entityName);
# getPrimaryKey:获取主键序列号的值
# 【功能说明】
为SDO实体生成一个主键值。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.getPrimaryKey,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entity | DataObject | SDO实体 |
返回值 | DataObject | DataObject | SDO实体 |
- 调用示例
Employee employee = Employee.FACTORY.create();
DatabaseDao.getPrimaryKey(employee);
# getPrimaryKey:获取主键序列号的值
# 【功能说明】
获取SDO的主键的序列号的值。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.getPrimaryKey,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entity | DataObject | SDO实体 |
参数 | isForce | boolean | 是否强制生成主键 |
参数 | keyPrefix | String | 主键前缀 |
返回值 | DataObject | DataObject | SDO实体 |
- 调用示例
Employee employee = Employee.FACTORY.create();
DatabaseDao.getPrimaryKey(employee, false, "afc-");
# getEntity:根据主键扩展查询一条记录
# 【功能说明】
根据主键扩展查询一条记录。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.getEntity,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entity | DataObject | 业务实体 |
返回值 | DataObject | DataObject | SDO实体 |
- 调用示例
Employee employee = Employee.FACTORY.create();
employee.setId("1");
employee = DatabaseDao.getEntity(employee);
# getEntityByKey:根据主键查询一条记录
# 【功能说明】
根据主键扩展查询一条记录,如果T中有非主键的属性值,将根据主键查询出来覆盖原来的属性。(单主键)。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.getEntityByKey,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityName | String | 实体名称 |
返回值 | keyValues | Object | 主键值 |
- 调用示例
String entityName = "com.primeton.gocom.afcenter.model.org.Employee";
Employee employee = DatabaseDao.getEntityByKey(entityName, "1");
# getEntityByProperty:使用属性查询一条记录
# 【功能说明】
使用属性查询一条记录。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.getEntityByProperty,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityName | String | 实体类型全名 |
参数 | propertyNameAndValues | Object | name1,value1;name2,value2;... |
返回值 | DataObject | DataObject | SDO实体 |
- 调用示例
Employee employee = Employee.FACTORY.create();
String entityName = "com.primeton.gocom.afcenter.model.org.Employee";
employee = DatabaseDao.getEntityByProperty(Employee.QNAME, "name","张三", "code","zs");
# getEntityByCriteriaBuilder:使用查询条件查询一条记录
# 【功能说明】
使用查询条件查询一条记录。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.getEntityByCriteriaBuilder,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | CriteriaBuilder | CriteriaBuilder | CriteriaType构造器 |
返回值 | DataObject | DataObject | SDO实体 |
- 调用示例
Employee employee = Employee.FACTORY.create();
employee.setName("张三");
employee.setCode("zs");
CriteriaBuilder cb = new CriteriaBuilder(Employee.QNAME);
Optional.ofNullable(employee.getId()).ifPresent((value) -> cb.and("id", value));
Optional.ofNullable(employee.getName()).ifPresent((value) -> cb.and("name", value));
Optional.ofNullable(employee.getCode()).ifPresent((value) -> cb.and("code", value));
employee = DatabaseDao.getEntityByCriteriaBuilder(cb);
# getEntityByTemplate:使用模板查询的一条记录填充T,并返回满足模板条件的记录数
# 【功能说明】
使用模板查询的一条记录填充T,并返回满足模板条件的记录数。如果模板查询出多条记录,则用第一条记录填充T;
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.getEntityByTemplate,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | template | DataObject | 查询模板 |
返回值 | DataObject | DataObject | SDO实体 |
- 调用示例
Employee employee = Employee.FACTORY.create();
employee.setName("张三");
employee.setCode("zs");
employee = DatabaseDao.getEntityByTemplate(employee);
# expandRelation:扩展一个数据实体对象的一个关联属性(如对一个懒加载的属性),会进行数据库的查询
# 【功能说明】
扩展一个数据实体对象的一个关联属性(如对一个懒加载的属性),会进行数据库的查询;
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.expandRelation,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entity | DataObject | 业务实体或者集合 |
参数 | propertyNames | String... | 数据实体的关联实体的属性名称列表 |
- 调用示例
示例:由于实际业务中有可能根据性能要求,考虑把某个实体的复杂属性进行延时加载。此时就可以使用expandRelation进行二次扩展查询。数据实体之间是单向1:n关联关系。
DictType dictType = DictType.FACTORY.create();
dictType.setId("1");
DatabaseDao.expandRelation(dictType, "dictTypeId");
# expandRelations:扩展一个或多个数据实体对象的一个关联属性(如对一个懒加载的属性),会进行数据库的查询
# 【功能说明】
扩展一个数据实体对象的一个关联属性(如对一个懒加载的属性),会进行数据库的查询;
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.expandRelations,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityOrCollectionOrArray | Object | 业务实体或者集合(DataObject) |
参数 | propertyNames | String... | 数据实体的关联实体的属性名称列表 |
- 调用示例
示例:由于实际业务中有可能根据性能要求,考虑把某个实体的复杂属性进行延时加载。此时就可以使用expandRelation进行二次扩展查询。数据实体之间是单向1:n关联关系。
List<DictType> dictTypeList = new ArrayList<>();
DictType dictType1 = DictType.FACTORY.create();
dictType1.setId("1");
DictType dictType2 = DictType.FACTORY.create();
dictType2.setId("2");
dictTypeList.add(dictType1);
dictTypeList.add(dictType2);
DatabaseDao.expandRelations(dictTypeList, "dictTypeId");
# expandAllRelations:扩展查询所有关联(1:N)
# 【功能说明】
扩展查询所有关联(1:N);
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.expandAllRelations,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityOrCollectionOrArray | Object | 业务实体或者集合(DataObject) |
- 调用示例
List<DictType> dictTypeList = new ArrayList<>();
DictType dictType1 = DictType.FACTORY.create();
dictType1.setId("1");
DictType dictType2 = DictType.FACTORY.create();
dictType2.setId("2");
dictTypeList.add(dictType1);
dictTypeList.add(dictType2);
DatabaseDao.expandAllRelations(dictTypeList);
# expandAllRelations:查询所有关联(1:N)并指定关联深度
# 【功能说明】
查询所有关联(1:N)并指定关联深度;
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.expandAllRelations,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityOrCollectionOrArray | Object | 业务实体或者集合(DataObject) |
参数 | deep | int | 级联深度 |
- 调用示例
List<DictType> dictTypeList = new ArrayList<>();
DictType dictType1 = DictType.FACTORY.create();
dictType1.setId("1");
DictType dictType2 = DictType.FACTORY.create();
dictType2.setId("2");
dictTypeList.add(dictType1);
dictTypeList.add(dictType2);
DatabaseDao.expandAllRelations(dictTypeList, 1);
# queryEntitiesByKey:根据主键查询实体
# 【功能说明】
根据主键查询实体;
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.queryEntitiesByKey,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityName | String | 实体类型全名,比如是单主键 |
参数 | keyValues | Object | 主键值,数组,List皆可 |
返回值 | dataObjects | ResultList | 符合查询模板的所有结果 |
- 调用示例
List<String> keyValues = new ArrayList<>();
keyValues.add("1");
keyValues.add("2");
ResultList<Employee> employeeList = DatabaseDao.queryEntitiesByKey(Employee.QNAME, keyValues);
# queryEntitiesByProperty:根据SDO数据模板查询条件查询所有记录,会查询Entity的所有字段
# 【功能说明】
根据SDO数据模板查询条件查询所有记录,会查询Entity的所有字段。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.queryEntitiesByProperty,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityName | String | 实体类型全名 |
参数 | propertyNameAndValues | Object... | name1,value1;name2,value2;... |
返回值 | dataObjects | ResultList | 符合查询模板的所有结果 |
- 调用示例
ResultList<Employee> employeeList = DatabaseDao.queryEntitiesByProperty(Employee.QNAME, "name","张三","status", "1");
# queryEntitiesByProperty:根据SDO数据模板查询条件查询所有记录,会查询Entity的所有字段
# 【功能说明】
根据SDO数据模板查询条件查询所有记录,会查询Entity的所有字段。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.queryEntitiesByProperty,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | begin | int | 开始记录编号(从0开始) |
参数 | length | int | 查询记录数量 |
参数 | entityName | String | 实体类型全名 |
参数 | propertyNameAndValues | Object... | name1,value1;name2,value2;... |
返回值 | dataObjects | ResultList | 符合查询模板的所有结果 |
- 调用示例
ResultList<Employee> employeeList = DatabaseDao.queryEntitiesByProperty(0, 10, Employee.QNAME, "name","张三","status", "1");
# queryEntitiesByPropertyWithPage:根据SDO数据模板查询条件分页查询所有记录,会查询Entity的所有字段
# 【功能说明】
根据SDO数据模板查询条件分页查询所有记录,会查询Entity的所有字段。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.queryEntitiesByPropertyWithPage,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | pageIndex | int | 起始页数(从0开始) |
参数 | pageSize | int | 每页记录数 |
参数 | entityName | String | 实体类型全名 |
参数 | propertyNameAndValues | Object... | name1,value1;name2,value2;... |
返回值 | dataObjects | ResultList | 符合查询模板的所有结果 |
- 调用示例
ResultList<Employee> employeeList = DatabaseDao.queryEntitiesByProperty(0, 10, Employee.QNAME, "name","张三","status", "1");
# queryEntitiesByCriteriaBuilder:根据查询条件查询所有记录,根据查询条件实体指定查询Entity的字段
# 【功能说明】
根据查询条件查询所有记录,根据查询条件实体指定查询Entity的字段。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.queryEntitiesByCriteriaBuilder,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | cb | CriteriaBuilder | CriteriaType构造器 |
返回值 | dataObjects | ResultList | 符合查询模板的所有结果 |
- 调用示例
private CriteriaBuilder toCriteriaBuilder(Employee employee) {
CriteriaBuilder cb = new CriteriaBuilder(Employee.QNAME);
Optional.ofNullable(employee.getId()).ifPresent((value) -> cb.and("id", value));
Optional.ofNullable(employee.getPartyType()).ifPresent((value) -> cb.and("name", value));
Optional.ofNullable(employee.getPartyId()).ifPresent((value) -> cb.and("code", value));
Optional.ofNullable(employee.getRoleType()).ifPresent((value) -> cb.and("status", value));
return cb;
}
Employee employee = Employee.FACTORY.create();
employee.setStatus("1");
ResultList<Employee> employeeList = DatabaseDao.queryEntitiesByCriteriaBuilder(toCriteriaBuilder(employee));
# queryEntitiesByCriteriaBuilder:根据查询条件查询所有记录,根据查询条件实体指定查询Entity的字段
# 【功能说明】
根据查询条件查询所有记录,根据查询条件实体指定查询Entity的字段。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.queryEntitiesByCriteriaBuilder,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | cb | CriteriaBuilder | CriteriaType构造器 |
参数 | begin | int | 开始记录编号(从0开始) |
参数 | length | int | 查询记录数量 |
返回值 | dataObjects | ResultList | 符合查询模板的所有结果 |
- 调用示例
private CriteriaBuilder toCriteriaBuilder(Employee employee) {
CriteriaBuilder cb = new CriteriaBuilder(Employee.QNAME);
Optional.ofNullable(employee.getId()).ifPresent((value) -> cb.and("id", value));
Optional.ofNullable(employee.getPartyType()).ifPresent((value) -> cb.and("name", value));
Optional.ofNullable(employee.getPartyId()).ifPresent((value) -> cb.and("code", value));
Optional.ofNullable(employee.getRoleType()).ifPresent((value) -> cb.and("status", value));
return cb;
}
Employee employee = Employee.FACTORY.create();
employee.setStatus("1");
ResultList<Employee> employeeList = DatabaseDao.queryEntitiesByCriteriaBuilder(toCriteriaBuilder(employee), 0, 10);
# queryEntitiesByCriteriaBuilderWithPage:根据查询条件分页查询所有记录,根据查询条件实体指定查询Entity的字段
# 【功能说明】
根据查询条件分页查询所有记录,根据查询条件实体指定查询Entity的字段。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.queryEntitiesByCriteriaBuilderWithPage,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | cb | CriteriaBuilder | CriteriaType构造器 |
参数 | pageIndex | int | 起始页数(从0开始) |
参数 | pageSize | int | 每页记录数 |
返回值 | dataObjects | ResultList | 符合查询模板的所有结果 |
- 调用示例
private CriteriaBuilder toCriteriaBuilder(Employee employee) {
CriteriaBuilder cb = new CriteriaBuilder(Employee.QNAME);
Optional.ofNullable(employee.getId()).ifPresent((value) -> cb.and("id", value));
Optional.ofNullable(employee.getPartyType()).ifPresent((value) -> cb.and("name", value));
Optional.ofNullable(employee.getPartyId()).ifPresent((value) -> cb.and("code", value));
Optional.ofNullable(employee.getRoleType()).ifPresent((value) -> cb.and("status", value));
return cb;
}
Employee employee = Employee.FACTORY.create();
employee.setStatus("1");
ResultList<Employee> employeeList = DatabaseDao.queryEntitiesByCriteriaBuilder(toCriteriaBuilder(employee), 0, 10);
# queryEntitiesByTemplate:根据SDO数据模板查询条件查询部分记录,会查询Entity的所有字段
# 【功能说明】
根据SDO数据模板查询条件查询部分记录,会查询Entity的所有字段。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.queryEntitiesByTemplate,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | template | DataObject | SDO数据模板查询条件 |
返回值 | dataObjects | ResultList | 符合查询模板的所有结果 |
- 调用示例
Employee employee = Employee.FACTORY.create();
employee.setStatus("1");
ResultList<Employee> employeeList = DatabaseDao.queryEntitiesByTemplate(employee);
# queryEntitiesByTemplate:根据SDO数据模板查询条件查询部分记录,会查询Entity的所有字段
# 【功能说明】
根据SDO数据模板查询条件查询部分记录,会查询Entity的所有字段。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.queryEntitiesByTemplate,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | template | DataObject | SDO数据模板查询条件 |
参数 | begin | int | 开始记录编号(从0开始) |
参数 | length | int | 查询记录数量 |
返回值 | dataObjects | ResultList | 符合查询模板的所有结果 |
- 调用示例
Employee employee = Employee.FACTORY.create();
employee.setStatus("1");
ResultList<Employee> employeeList = DatabaseDao.queryEntitiesByTemplate(employee, 0, 10);
# queryEntitiesByTemplateWithPage:根据SDO数据模板查询条件分页查询部分记录,会查询Entity的所有字段
# 【功能说明】
根据SDO数据模板查询条件分页查询部分记录,会查询Entity的所有字段。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.queryEntitiesByTemplateWithPage,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | template | DataObject | SDO数据模板查询条件 |
参数 | pageIndex | int | 起始页数(从0开始) |
参数 | pageSize | int | 每页记录数 |
返回值 | dataObjects | ResultList | 符合查询模板的所有结果 |
- 调用示例
Employee employee = Employee.FACTORY.create();
employee.setStatus("1");
ResultList<Employee> employeeList = DatabaseDao.queryEntitiesByTemplateWithPage(employee, 0, 10);
# countByEntity:根据实体统计记录数
# 【功能说明】
根据实体统计记录数。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.countByEntity,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entity | DataObject | 业务实体(entity)保证主键赋值 |
返回值 | count | int | 统计结果数量 |
- 调用示例
Employee employee = Employee.FACTORY.create();
employee.setStatus("1");
int count = DatabaseDao.countByEntity(employee);
# countByKey:根据实体统计记录数。(单主键)
# 【功能说明】
根据实体统计记录数。(单主键)。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.countByKey,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityName | String | 实体类型全名 |
参数 | keyValues | Object | 主键值,数组,List皆可 |
返回值 | count | int | 统计结果数量 |
- 调用示例
int count = DatabaseDao.countByKey(Employee.QNAME, ["1","2","3"]);
# countByProperty:根据属性统计记录数
# 【功能说明】
根据属性统计记录数。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.countByProperty,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityName | String | 实体类型全名 |
参数 | propertyNameAndValues | Object... | name1,value1;name2,value2;... |
返回值 | count | int | 统计结果数量 |
- 调用示例
int count = DatabaseDao.countByProperty(Employee.QNAME, "status", "1");
# countByCriteriaBuilder:根据查询条件条件统计记录数
# 【功能说明】
根据查询条件条件统计记录数。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.countByCriteriaBuilder,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | cb | CriteriaBuilder | CriteriaType构造器 |
返回值 | count | int | 统计结果数量 |
- 调用示例
private CriteriaBuilder toCriteriaBuilder(Employee employee) {
CriteriaBuilder cb = new CriteriaBuilder(Employee.QNAME);
Optional.ofNullable(employee.getId()).ifPresent((value) -> cb.and("id", value));
Optional.ofNullable(employee.getPartyType()).ifPresent((value) -> cb.and("name", value));
Optional.ofNullable(employee.getPartyId()).ifPresent((value) -> cb.and("code", value));
Optional.ofNullable(employee.getRoleType()).ifPresent((value) -> cb.and("status", value));
return cb;
}
Employee employee = Employee.FACTORY.create();
employee.setStatus("1");
int count = DatabaseDao.countByCriteriaBuilder(toCriteriaBuilder(employee));
# countByTemplate:根据SDO数据模板查询条件统计记录数
# 【功能说明】
根据SDO数据模板查询条件统计记录数。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.countByTemplate,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | template | DataObject | SDO数据模板 |
返回值 | count | int | 统计结果数量 |
- 调用示例
Employee employee = Employee.FACTORY.create();
employee.setStatus("1");
int count = DatabaseDao.countByTemplate(employee);
# insertEntity:插入一条或多条记录自动设置用户和时间,自动生成主键
# 【功能说明】
插入一条或多条记录自动设置用户和时间,自动生成主键。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.insertEntity,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityOrCollectionOrArray | Object | 业务实体或者集合(DataObject) |
返回值 | out | int | 返回结果 |
- 调用示例
Employee employee = Employee.FACTORY.create();
employee.setName("张三");
employee.setCode("zs");
employee.setSex("男");
employee.setStatus("1");
int out = DatabaseDao.insertEntity(employee);
# insertEntityCascade:级联插入记录。(自动设置用户和时间,自动生成主键)
# 【功能说明】
级联插入记录。(自动设置用户和时间,自动生成主键)。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.insertEntityCascade,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityOrCollectionOrArray | Object | 业务实体或者集合(DataObject) |
返回值 | out | int | 返回结果 |
- 调用示例
DictType dictType = DictType.FACTORY.create();
dictType.setName("性别");
dictType.setCode("gender");
List<DictEntry> dictEntryList = new ArrayList<>();
DictEntry dictEntry = DictEntry.FACTORY.create();
dictEntry.setName("男");
dictEntry.setCode("man");
dictEntryList.add(dictEntry);
dictType.setDictEntrys(dictEntryList);
int out = DatabaseDao.insertEntityCascade(dictType);
# insertEntity:插入记录。(不自动生成主键,不级联)
# 【功能说明】
插入记录。(不自动生成主键,不级联)。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.insertEntity,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityOrCollectionOrArray | Object | 业务实体或者集合(DataObject) |
参数 | isSetUserAndTime | boolean | 是否自动设置用户和时间 |
参数 | isAutoSetPrimary | boolean | 是否自动设置主键 |
参数 | cascadeDeep | int | 级联深度,-1,无限级联;0,不做级联;1,只级联一级... |
返回值 | out | int | 返回结果 |
- 调用示例
DictType dictType = DictType.FACTORY.create();
dictType.setName("性别");
dictType.setCode("gender");
List<DictEntry> dictEntryList = new ArrayList<>();
DictEntry dictEntry = DictEntry.FACTORY.create();
dictEntry.setName("男");
dictEntry.setCode("man");
dictEntryList.add(dictEntry);
dictType.setDictEntrys(dictEntryList);
int out = DatabaseDao.insertEntity(dictType, false, false, 1);
# updateEntity:更新记录。(自动设置用户和时间,不级联)
# 【功能说明】
更新记录。(自动设置用户和时间,不级联)
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.updateEntity,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityOrCollectionOrArray | Object | 业务实体或者集合(DataObject) |
返回值 | out | int | 返回结果 |
- 调用示例
Employee employee = Employee.FACTORY.create();
employee.setName("张三");
employee.setCode("zs");
employee.setSex("男");
employee.setStatus("1");
employee.setId("1");
int out = DatabaseDao.updateEntity(employee);
# updateEntityCascade:级联更新记录。(自动设置用户和时间)
# 【功能说明】
级联更新记录。(自动设置用户和时间)。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.updateEntityCascade,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityOrCollectionOrArray | Object | 业务实体或者集合(DataObject) |
返回值 | out | int | 返回结果 |
- 调用示例
DictType dictType = DictType.FACTORY.create();
dictType.setId("1");
dictType.setName("性别");
dictType.setCode("gender");
List<DictEntry> dictEntryList = new ArrayList<>();
DictEntry dictEntry = DictEntry.FACTORY.create();
dictEntry.setId("1");
dictEntry.setName("男");
dictEntry.setCode("man");
dictEntryList.add(dictEntry);
dictType.setDictEntrys(dictEntryList);
int out = DatabaseDao.updateEntityCascade(dictType);
# updateEntity:更新记录
# 【功能说明】
更新记录。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.updateEntity,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityOrCollectionOrArray | Object | 业务实体或者集合(DataObject) |
参数 | isSetUserAndTime | boolean | 是否自动设置用户和时间 |
参数 | cascadeDeep | int | 级联深度,-1,无限级联;0,不做级联;1,只级联一级... |
参数 | isPartUpdate | boolean | 是否部分更新(属性不为null才更新) |
返回值 | out | int | 返回结果 |
- 调用示例
DictType dictType = DictType.FACTORY.create();
dictType.setName("性别");
dictType.setCode("gender");
List<DictEntry> dictEntryList = new ArrayList<>();
DictEntry dictEntry = DictEntry.FACTORY.create();
dictEntry.setName("男");
dictEntry.setCode("man");
dictEntryList.add(dictEntry);
dictType.setDictEntrys(dictEntryList);
int out = DatabaseDao.updateEntity(dictType, false, 1, true);
# saveEntity:保存记录。如果没有,则会插入,否则就更新。(自动设置用户和时间,自动生成主键,不级联)
# 【功能说明】
保存记录。如果没有,则会插入,否则就更新。(自动设置用户和时间,自动生成主键,不级联)。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.saveEntity,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityOrCollectionOrArray | Object | 业务实体或者集合(DataObject) |
返回值 | out | int | 返回结果 |
- 调用示例
Employee employee = Employee.FACTORY.create();
employee.setName("张三");
employee.setCode("zs");
employee.setSex("男");
employee.setStatus("1");
employee.setId("1");
int out = DatabaseDao.saveEntity(employee);
# saveEntityCascade:级联保存记录。如果没有,则会插入,否则就更新。(自动设置用户和时间,不自动生成主键)
# 【功能说明】
级联保存记录。如果没有,则会插入,否则就更新。(自动设置用户和时间,不自动生成主键)
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.saveEntityCascade,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityOrCollectionOrArray | Object | 业务实体或者集合(DataObject) |
返回值 | out | int | 返回结果 |
- 调用示例
DictType dictType = DictType.FACTORY.create();
dictType.setName("性别");
dictType.setCode("gender");
List<DictEntry> dictEntryList = new ArrayList<>();
DictEntry dictEntry = DictEntry.FACTORY.create();
dictEntry.setName("男");
dictEntry.setCode("man");
dictEntryList.add(dictEntry);
dictType.setDictEntrys(dictEntryList);
int out = DatabaseDao.saveEntityCascade(dictType);
# saveEntity:保存记录。如果没有,则会插入,否则就更新。(自动设置用户和时间,不自动生成主键,不级联)
# 【功能说明】
保存记录。如果没有,则会插入,否则就更新。(自动设置用户和时间,不自动生成主键,不级联)
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.saveEntity,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityOrCollectionOrArray | Object | 业务实体或者集合(DataObject) |
参数 | isSetUserAndTime | boolean | 是否自动设置用户和时间 |
参数 | isAutoSetPrimary | boolean | 是否自动设置主键 |
参数 | cascadeDeep | int | 级联深度,-1,无限级联;0,不做级联;1,只级联一级... |
参数 | isPartUpdate | boolean | 是否部分更新(属性不为null才更新) |
返回值 | out | int | 返回结果 |
- 调用示例
DictType dictType = DictType.FACTORY.create();
dictType.setName("性别");
dictType.setCode("gender");
List<DictEntry> dictEntryList = new ArrayList<>();
DictEntry dictEntry = DictEntry.FACTORY.create();
dictEntry.setName("男");
dictEntry.setCode("man");
dictEntryList.add(dictEntry);
dictType.setDictEntrys(dictEntryList);
int out = DatabaseDao.saveEntity(dictType, true, true, 1, true);
# deleteEntity:根据主键删除记录
# 【功能说明】
根据主键删除记录。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.deleteEntity,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityOrCollectionOrArray | Object | 业务实体或者集合(DataObject) |
返回值 | out | int | 返回结果 |
- 调用示例
DictType dictType = DictType.FACTORY.create();
dictType.setId("1");
int out = DatabaseDao.deleteEntity(dictType);
# deleteEntityCascade:根据主键级联删除记录
# 【功能说明】
根据主键级联删除记录。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.deleteEntityCascade,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityOrCollectionOrArray | Object | 业务实体或者集合(DataObject) |
返回值 | out | int | 返回结果 |
- 调用示例
DictType dictType = DictType.FACTORY.create();
dictType.setId("1");
List<DictEntry> dictEntryList = new ArrayList<>();
DictEntry dictEntry = DictEntry.FACTORY.create();
dictEntry.setId("1");
dictEntryList.add(dictEntry);
dictType.setDictEntrys(dictEntryList);
int out = DatabaseDao.deleteEntityCascade(dictType);
# deleteEntity:根据主键删除记录
# 【功能说明】
根据主键删除记录。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.deleteEntity,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityOrCollectionOrArray | Object | 业务实体或者集合(DataObject) |
参数 | cascadeDeep | int | 级联深度,-1,无限级联;0,不做级联;1,只级联一级... |
返回值 | out | int | 返回结果 |
- 调用示例
DictType dictType = DictType.FACTORY.create();
dictType.setId("1");
int out = DatabaseDao.deleteEntity(dictType, 1);
# deleteEntityByKey:根据主键删除一条记录,如果T中有非主键的属性值,将根据主键查询出来覆盖原来的属性。(单主键)
# 【功能说明】
根据主键删除一条记录,如果T中有非主键的属性值,将根据主键查询出来覆盖原来的属性。(单主键)。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.deleteEntityByKey,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityName | String | 实体类型全名 |
参数 | keyValues | Object | 主键值,数组,List皆可 |
返回值 | out | int | 返回结果 |
- 调用示例
int out = DatabaseDao.deleteEntityByKey(DictType.QNAME, "1");
# deleteEntityByProperty:根据属性条件批量删除
# 【功能说明】
根据属性条件批量删除。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.deleteEntityByProperty,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | entityName | String | 实体类型全名 |
参数 | propertyNameAndValues | Object... | name1,value1;name2,value2;... |
返回值 | out | int | 返回结果 |
- 调用示例
int out = DatabaseDao.deleteEntityByProperty(DictType.QNAME, "name","性别","code","gender");
# deleteEntityByCriteriaBuilder:根据查询条件删除记录
# 【功能说明】
根据查询条件删除记录。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.deleteEntityByCriteriaBuilder,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | cb | CriteriaBuilder | CriteriaType构造器 |
返回值 | out | int | 返回结果 |
- 调用示例
private CriteriaBuilder toCriteriaBuilder(Employee employee) {
CriteriaBuilder cb = new CriteriaBuilder(Employee.QNAME);
Optional.ofNullable(employee.getId()).ifPresent((value) -> cb.and("id", value));
Optional.ofNullable(employee.getPartyType()).ifPresent((value) -> cb.and("name", value));
Optional.ofNullable(employee.getPartyId()).ifPresent((value) -> cb.and("code", value));
Optional.ofNullable(employee.getRoleType()).ifPresent((value) -> cb.and("status", value));
return cb;
}
Employee employee = Employee.FACTORY.create();
employee.setStatus("1");
int out = DatabaseDao.deleteEntityByCriteriaBuilder(toCriteriaBuilder(employee));
# deleteEntityByCriteriaBuilder:根据查询条件删除记录
# 【功能说明】
根据查询条件删除记录。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.deleteEntityByCriteriaBuilder,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | cb | CriteriaBuilder | CriteriaType构造器 |
参数 | mustWhereCondition | boolean | 是否必须添加查询条件 |
返回值 | out | int | 返回结果 |
- 调用示例
private CriteriaBuilder toCriteriaBuilder(Employee employee) {
CriteriaBuilder cb = new CriteriaBuilder(Employee.QNAME);
Optional.ofNullable(employee.getId()).ifPresent((value) -> cb.and("id", value));
Optional.ofNullable(employee.getPartyType()).ifPresent((value) -> cb.and("name", value));
Optional.ofNullable(employee.getPartyId()).ifPresent((value) -> cb.and("code", value));
Optional.ofNullable(employee.getRoleType()).ifPresent((value) -> cb.and("status", value));
return cb;
}
Employee employee = Employee.FACTORY.create();
employee.setStatus("1");
int out = DatabaseDao.deleteEntityByCriteriaBuilder(toCriteriaBuilder(employee), true);
# deleteEntityByTemplate:根据SDO数据模板查询条件删除记录
# 【功能说明】
根据SDO数据模板查询条件删除记录。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.deleteEntityByTemplate,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | template | DataObject | SDO数据模板 |
返回值 | out | int | 返回结果 |
- 调用示例
Employee employee = Employee.FACTORY.create();
employee.setStatus("1");
int out = DatabaseDao.deleteEntityByTemplate(employee);
# queryByNamedSql:根据命名sql查询
# 【功能说明】
根据命名sql查询。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.queryByNamedSql,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | nameSqlId | String | 命名sql ID |
参数 | parameterObject | Object | 参数对象 |
返回值 | out | ResultList | 返回结果 |
- 调用示例
Map<String, String> parameterObject = new HashMap<>();
parameterObject.put("code","zs");
String sqlId = "com.primeton.eos.lowcode.nameSql.queryTest01";
ResultList<Employee> out = DatabaseDao.queryByNamedSql(sqlId, parameterObject);
# queryByNamedSql:根据命名sql查询
# 【功能说明】
根据命名sql查询。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.queryByNamedSql,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | nameSqlId | String | 命名sql ID |
参数 | parameterObject | Object | 参数对象 |
参数 | begin | int | 开始记录编号(从0开始) |
参数 | length | int | 查询记录数量 |
返回值 | out | ResultList | 返回结果 |
- 调用示例
Map<String, String> parameterObject = new HashMap<>();
parameterObject.put("code","zs");
String sqlId = "com.primeton.eos.lowcode.nameSql.queryTest01";
ResultList<Employee> out = DatabaseDao.queryByNamedSql(sqlId, parameterObject, 0, 10);
# queryByNamedSqlWithPage:根据命名sql分页查询
# 【功能说明】
根据命名sql分页查询。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.queryByNamedSqlWithPage,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | nameSqlId | String | 命名sql ID |
参数 | parameterObject | Object | 参数对象 |
参数 | pageIndex | int | 起始页数(从0开始) |
参数 | pageSize | int | 每页记录数 |
返回值 | out | ResultList | 返回结果 |
- 调用示例
Map<String, String> parameterObject = new HashMap<>();
parameterObject.put("code","zs");
String sqlId = "com.primeton.eos.lowcode.nameSql.queryTest01";
ResultList<Employee> out = DatabaseDao.queryByNamedSql(sqlId, parameterObject, 0, 10);
# executeByNamedSql:执行命名sql
# 【功能说明】
执行命名sql。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.executeByNamedSql,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | nameSqlId | String | 命名sql ID |
参数 | parameterObject | Object | 参数对象 |
返回值 | out | int | 返回结果 |
- 调用示例
Map<String, String> parameterObject = new HashMap<>();
parameterObject.put("id","1");
String sqlId = "com.primeton.eos.lowcode.nameSql.queryTest01";
int out = DatabaseDao.executeByNamedSql(sqlId, parameterObject);
# executeByNamedSqlBatch:批量执行命名sql
# 【功能说明】
批量执行命名sql,根据参数对象集合或者数组来循环执行命名sql。
# 【版本说明】
从EOS 8.2开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.primeton.gocom.afcenter.common.dao.DatabaseDao.executeByNamedSqlBatch,包含在com.primeton.gocom.afcenter.common.jar中。
- 运算逻辑定义在构件包com.primeton.gocom.afcenter.common中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | nameSqlId | String | 命名sql ID |
参数 | parameterObjectCollectionOrArray | Object | 参数对象 |
返回值 | out | int | 返回结果 |
- 调用示例
List<Employee> employeeList = new ArrayList<>();
Employee employee = Employee.FACTORY.create();
employee.setStatus("1");
employeeList.add(employee);
String sqlId = "com.primeton.eos.lowcode.nameSql.queryTest01";
int out = DatabaseDao.executeByNamedSqlBatch(sqlId, employeeList);