# 数据库
# 一、 概述
在流程执行过程中,经常需要与数据库进行交互(如更新订单状态、插入新记录等)。系统提供了内置的数据库操作插件,无需使用专门的集成组件(如ESB)即可完成这些操作。
# 二、 数据库更新/删除操作
# 配置步骤
- 添加任务节点
- 拖拽一个任务节点到流程中。
- 将任务类型修改为"数据库更新/删除"。
▲ 添加任务节点
- 配置数据源
- 打开任务属性。
- 在"数据源"中选择目标数据库(如DemoData)。
▲ 配置数据源
- 编写SQL语句
- 在"SQL命令"中输入带参数的SQL。
- 示例:
update order set status=@status where orderId=@orderId。
▲ 编写SQL语句
- 参数映射
- 切换到"传入参数"页签。
- 左侧选择表单数据,右侧自动显示SQL中的参数。
- 使用连线将表单字段映射到SQL参数。
- 常量值可直接在右侧代码框中指定,如:
status: '完成'。
▲ 参数映射
# 三、 数据库插入操作
# 配置步骤
- 添加任务节点
- 拖拽一个任务节点到流程中。
- 将任务类型修改为"数据库插入"。
▲ 添加任务节点
- 编写插入SQL
- 示例:
insert into Product(code,name) values(@code,@name)。 - 系统会自动提取SQL中的参数(@code, @name)。
- 示例:
▲ 添加任务节点
- 参数映射
- 将表单字段映射到对应的SQL参数。
▲ 参数映射
# 返回值说明
- 使用序列的数据库:返回序列值(Oracle等)。
- 使用自增字段的数据库:返回自增ID值。
- 对于Oracle序列:
- 在SQL中直接使用
id引用序列。 - 无需在参数中传值。
- 在SQL中直接使用
# 四、 注意事项
- 参数使用
@符号前缀标识。 - 系统会自动解析SQL语句中的参数。
- 常量值可直接在参数映射区域硬编码。
- 插入操作返回值可通过流程变量获取。
# 五、 最佳实践
- 对于简单的单表操作,优先使用数据库插件而非ESB。
- 复杂的多表操作或事务处理建议使用专门集成组件。
- 生产环境建议使用命名参数而非字符串拼接防止SQL注入。