类 EntityHelper
相关事件之前执行 EntityHelper.use("default").beforeExecuteEvent(entityName,dataMap); 根据事件配置之后执行进行 EntityHelper.use("default").afterExecuteEvent(entityName,dataMap); 根据实体配置的公式进行执行计算 EntityHelper.use("default").formula(entityName,dataMap); 根据实体数据初始化 EntityHelper.use("default").initial(entityName,dataMap); 根据实体数据格式 EntityHelper.use("default").validate(entityName,dataMap); 脚本生成 EntityHelper.use("default").dll(entityName); SQL语句执行 EntityHelper.use("default").execute(entityName,dataMap); EntityHelper.use("default").insert(entityName,dataMap); EntityHelper.use("default").update(entityName,dataMap); EntityHelper.use("default").delete(entityName,dataMap);
- 从以下版本开始:
- 2024/8/23 14:09
- 作者:
- AaronFung
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明根据实体名、属性名和数据映射自动生成代码自动生成实体属性代码int根据实体名称和数据映射删除记录voidexecuteAfterEvent(String entity, Map<String, Object> dataMap) 在事件发生后执行相关操作(当前实现实际调用的是事件发生前的执行方法,需确认是否为设计意图)voidexecuteBeforeEvent(String entity, Map<String, Object> dataMap) 在事件发生前执行相关操作(当前实现实际调用的是事件发生后的操作,可能存在命名或逻辑错误)void批量执行指定实体的公式计算voidexecuteFormula(String entity, Map<String, Object> dataMap) 执行指定实体的公式计算void通过插入方式格式化实体数据voidformatByInsert(String entity, Map<String, Object> dataMap) 通过插入方式格式化实体数据void根据查询条件格式化实体数据voidformatByQuery(String entity, Map<String, Object> dataMap) 根据查询条件格式化实体数据void根据报表格式化实体数据voidformatByReport(String entity, Map<String, Object> dataMap) 根据报表格式化实体数据void通过更新方式格式化实体数据voidformatByUpdate(String entity, Map<String, Object> dataMap) 根据更新操作格式化实体数据int向指定实体插入数据int向指定实体插入数据(带重复性检查)voidreload()清空实体缓存。int保存实体数据,如果实体数据存在则更新,不存在则voidsaveEntity(EntityVO entityVO) 保存实体信息并刷新缓存int保存实体数据(带重复性检查)int更新指定实体的数据int更新指定实体的数据(带重复性检查)void根据实体验证数据
-
构造器详细资料
-
EntityHelper
public EntityHelper()
-
-
方法详细资料
-
insert
向指定实体插入数据- 参数:
entityName- 实体名称,用于指定要操作的数据表/实体dataMap- 包含要插入数据的键值对集合,键为字段名,值为字段值- 返回:
- 返回操作结果,0表示成功(当前实现为固定返回值,实际实现可能返回受影响行数等)
- 抛出:
SQLException
-
insertWithDuplicateCheck
public int insertWithDuplicateCheck(String entityName, Map<String, Object> dataMap, String... checkFields) throws SQLException向指定实体插入数据(带重复性检查)插入前会根据指定的字段组合检查数据是否已存在。
使用示例:
EntityHelper.insertWithDuplicateCheck("your_table", body, "user_name", "login_name");- 参数:
entityName- 实体名称(表名)dataMap- 包含要插入数据的键值对集合checkFields- 用于检查重复的字段名列表(组合唯一)- 返回:
- 0 表示操作成功
- 抛出:
BusiException- 当数据重复时抛出业务异常SQLException- 当数据库操作异常时抛出
-
save
保存实体数据,如果实体数据存在则更新,不存在则- 抛出:
SQLException
-
saveWithDuplicateCheck
public int saveWithDuplicateCheck(String entityName, Map<String, Object> dataMap, String... checkFields) throws SQLException保存实体数据(带重复性检查)如果数据中包含 id 且不为空则执行更新操作,否则执行插入操作。 保存前会根据指定的字段组合检查数据是否已存在(排除当前记录自身)。
使用示例:
// 根据 user_name 和 login_name 组合检查重复 EntityHelper.saveWithDuplicateCheck("your_table", body, "user_name", "login_name"); // 根据单个字段检查重复 EntityHelper.saveWithDuplicateCheck("your_table", body, "email");- 参数:
entityName- 实体名称(表名)dataMap- 包含要保存数据的键值对集合checkFields- 用于检查重复的字段名列表(组合唯一)- 返回:
- 0 表示操作成功
- 抛出:
BusiException- 当数据重复时抛出业务异常SQLException- 当数据库操作异常时抛出
-
update
更新指定实体的数据- 参数:
entityName- 实体名称,用于指定要更新的实体dataMap- 包含要更新的字段和对应值的Map集合- 返回:
- 返回更新操作的结果(当前实现始终返回0,实际实现可能返回受影响的行数等)
- 抛出:
SQLException
-
updateWithDuplicateCheck
public int updateWithDuplicateCheck(String entityName, Map<String, Object> dataMap, String... checkFields) throws SQLException更新指定实体的数据(带重复性检查)更新前会根据指定的字段组合检查数据是否已存在(自动排除当前记录自身)。
使用示例:
EntityHelper.updateWithDuplicateCheck("your_table", body, "user_name", "login_name");- 参数:
entityName- 实体名称(表名)dataMap- 包含要更新数据的键值对集合(必须含 id 字段)checkFields- 用于检查重复的字段名列表(组合唯一)- 返回:
- 0 表示操作成功
- 抛出:
BusiException- 当数据重复时抛出业务异常SQLException- 当数据库操作异常时抛出
-
delete
根据实体名称和数据映射删除记录- 参数:
entityName- 实体名称,用于指定要操作的数据库表或实体dataMap- 数据映射,包含用于匹配删除条件的键值对- 返回:
- 返回受影响的行数(当前实现固定返回0)
-
saveEntity
保存实体信息并刷新缓存该方法首先调用服务层保存实体数据,然后刷新对应实体的缓存
- 参数:
entityVO- 包含待保存实体信息的值对象- 抛出:
EntityException- 当实体保存过程中发生业务异常时抛出SQLException- 当数据库操作发生异常时抛出
-
validate
根据实体验证数据- 参数:
entity- 实体名称,用于指定需要验证的实体类型dataMap- 包含待验证数据的Map,键为字段名,值为字段值- 抛出:
BusiException- 当验证失败时抛出业务异常
-
formatByQuery
public void formatByQuery(String entity, Map<String, Object> dataMap) throws BusiException, SQLException根据查询条件格式化实体数据- 参数:
entity- 实体名称,用于指定要操作的数据库实体dataMap- 包含查询条件和格式化参数的键值对集合- 抛出:
BusiException- 业务异常,当处理过程中发生业务逻辑错误时抛出SQLException- 数据库异常,当执行数据库操作失败时抛出
-
formatByReport
public void formatByReport(String entity, Map<String, Object> dataMap) throws BusiException, SQLException根据报表格式化实体数据- 参数:
entity- 实体名称,用于指定需要格式化的实体dataMap- 包含实体数据的Map集合,键为字段名,值为字段值- 抛出:
BusiException- 业务异常,当业务处理过程中出现错误时抛出SQLException- 数据库操作异常,当数据库访问出错时抛出
-
formatByReport
public void formatByReport(String entity, List<Map<String, Object>> dataList) throws BusiException, SQLException根据报表格式化实体数据- 参数:
entity- 实体名称,用于指定要格式化的实体类型dataList- 包含实体数据的列表,每个元素是一个Map,键为字段名,值为字段值- 抛出:
BusiException- 业务异常,当业务处理过程中出现错误时抛出SQLException- 数据库异常,当数据库操作出现错误时抛出
-
executeFormula
public void executeFormula(String entity, Map<String, Object> dataMap) throws ScriptException, BusiException, TokenAuthenticationException, SQLException执行指定实体的公式计算- 参数:
entity- 实体名称,用于标识需要执行公式的实体dataMap- 包含公式计算所需数据的Map集合,键为数据项名称,值为对应数据- 抛出:
ScriptException- 脚本执行异常BusiException- 业务逻辑异常TokenAuthenticationException- 令牌认证异常SQLException- 数据库操作异常
-
autocode
public String autocode(String entityName, String propertyName, Map<String, Object> dataMap) throws TokenAuthenticationException, SQLException根据实体名、属性名和数据映射自动生成代码- 参数:
entityName- 实体名称propertyName- 属性名称dataMap- 数据映射表,包含生成代码所需的参数- 返回:
- 生成的代码字符串
- 抛出:
TokenAuthenticationException- 令牌认证异常SQLException- 数据库操作异常
-
autocode
public String autocode(String entityName, String propertyName, Map<String, Object> dataMap, boolean commit) throws TokenAuthenticationException, SQLException自动生成实体属性代码- 参数:
entityName- 实体名称propertyName- 属性名称dataMap- 数据映射表,包含生成代码所需的额外数据commit- 是否立即提交生成结果到数据库- 返回:
- 生成的代码字符串
- 抛出:
TokenAuthenticationException- 令牌认证异常SQLException- 数据库操作异常
-
executeFormula
public void executeFormula(String entity, List<Map<String, Object>> dataList) throws ScriptException, BusiException, TokenAuthenticationException, SQLException批量执行指定实体的公式计算遍历数据列表中的每个数据映射,调用实体数据服务执行对应的公式计算
- 参数:
entity- 实体名称,用于指定需要执行公式的实体对象dataList- 包含多个数据映射的列表,每个映射包含公式计算所需的参数- 抛出:
ScriptException- 当公式脚本执行异常时抛出BusiException- 当业务逻辑处理异常时抛出TokenAuthenticationException- 当令牌认证失败时抛出SQLException- 当数据库操作异常时抛出
-
executeBeforeEvent
public void executeBeforeEvent(String entity, Map<String, Object> dataMap) throws ScriptException, BusiException在事件发生前执行相关操作(当前实现实际调用的是事件发生后的操作,可能存在命名或逻辑错误)- 参数:
entity- 实体名称,用于标识操作对象dataMap- 包含操作所需数据的键值对集合- 抛出:
ScriptException- 当脚本执行出现异常时抛出BusiException- 当业务逻辑处理出现异常时抛出
-
executeAfterEvent
public void executeAfterEvent(String entity, Map<String, Object> dataMap) throws ScriptException, BusiException在事件发生后执行相关操作(当前实现实际调用的是事件发生前的执行方法,需确认是否为设计意图)- 参数:
entity- 实体名称,用于标识需要处理的数据实体dataMap- 包含实体相关数据的键值对集合- 抛出:
ScriptException- 当脚本执行出现异常时抛出BusiException- 当业务处理出现异常时抛出
-
formatByQuery
public void formatByQuery(String entity, List<Map<String, Object>> dataList) throws BusiException, SQLException根据查询条件格式化实体数据- 参数:
entity- 实体名称,用于标识需要格式化的数据实体dataList- 包含待格式化数据的列表,每个元素是一个Map,键为字段名,值为字段值- 抛出:
BusiException- 当业务处理出现异常时抛出SQLException- 当数据库操作出现异常时抛出
-
formatByInsert
public void formatByInsert(String entity, List<Map<String, Object>> dataList) throws BusiException, SQLException通过插入方式格式化实体数据- 参数:
entity- 实体名称,用于指定要操作的数据表或实体dataList- 包含待插入数据的列表,每个元素是一个Map,表示一条记录的字段和值- 抛出:
BusiException- 业务异常,当处理过程中发生业务逻辑错误时抛出SQLException- 数据库异常,当与数据库交互时发生错误时抛出
-
formatByInsert
public void formatByInsert(String entity, Map<String, Object> dataMap) throws BusiException, SQLException, EntityException, TokenAuthenticationException通过插入方式格式化实体数据- 参数:
entity- 实体名称,用于指定要格式化的实体类型dataMap- 包含实体数据的键值对映射,键为字段名,值为字段值- 抛出:
BusiException- 业务异常,当业务处理过程中出现错误时抛出SQLException- 数据库操作异常,当执行SQL语句出现错误时抛出EntityException- 实体异常,当实体处理过程中出现错误时抛出TokenAuthenticationException- 令牌认证异常,当令牌认证失败时抛出
-
formatByUpdate
public void formatByUpdate(String entity, List<Map<String, Object>> dataList) throws BusiException, SQLException通过更新方式格式化实体数据- 参数:
entity- 实体名称,用于指定要操作的数据库实体dataList- 要更新的数据列表,每个元素是一个包含字段名和值的Map- 抛出:
BusiException- 业务异常,当处理过程中发生业务错误时抛出SQLException- 数据库异常,当操作数据库发生错误时抛出
-
formatByUpdate
public void formatByUpdate(String entity, Map<String, Object> dataMap) throws BusiException, SQLException根据更新操作格式化实体数据- 参数:
entity- 实体名称,用于指定需要格式化的数据实体dataMap- 包含更新数据的键值对映射,键为字段名,值为新数据- 抛出:
BusiException- 业务异常,当业务处理过程中出现错误时抛出SQLException- 数据库异常,当数据库操作失败时抛出
-
reload
public void reload()清空实体缓存。该方法用于清除当前存储在实体缓存中的所有数据。
-