# 数据库
# 概述
在流程执行过程中,经常需要与数据库进行交互(如更新订单状态、插入新记录等)。系统提供了内置的数据库操作插件,无需使用专门的集成组件(如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注入