作者:钟剑华  历史版本:1  更新时间:2024-07-05 12:05

适用版本:所有版本;
完整类名:com.lc.ibps.platform.script.script.JdbcScript

适用哪些服务?

  1. 通过business

调用方式例子

  • 更新数据
import java.util.HashMap;
import java.util.Map;

// 更新t_stu表的name_字段
Map<String, Object> updateMap = new HashMap<>();
updateMap1.put("name_", "zhangsan");
Map<String, Object> whereMap = new HashMap<>();
whereMap.put("id_", "123456");
jdbcScript.updateData("t_stu", updateMap, whereMap);

常用方法

/**
 * 通过表单主键值更新相关表单数据
 * @param busValue 表单主键(业务主键)值
 * @param tableName 表名
 * @param valMap 更改变量信息
 */
public void updateDataByBusValue(String busValue,String tableName,Map<String,Object> valMap);

/**
 * 通过表单主键值更新相关表单数据,租户模式使用
 * @param busValue 表单主键(业务主键)值
 * @param tableName 表名
 * @param valMap 更改变量信息
 */
public void updateDataByBusValue2(String busValue,String tableName,Map<String,Object> valMap);

/**
 * 通过表单主键值更新相关表单数据
 * @param busValue 表单主键(业务主键)值
 * @param tableName 表名
 * @param valMap 更改变量信息
 */
public void updateDataByBusValue(String busValue,String tableName,Map<String,Object> valMap, Map<String, List<Object[]>> sqls);

/**
 * 通过表单主键值更新相关表单数据
 * @param busKey 表单主键(业务主键)
 * @param busValue 表单主键值(业务主键值)
 * @param tableName 表名
 * @param valMap 更改变量信息
 */
public void updateDataByBusKeyAndValue(String busKey, String busValue, String tableName, Map<String,Object> valMap);

/**
 * 通过表单主键值更新相关表单数据,租户模式使用
 * @param busKey 表单主键(业务主键)
 * @param busValue 表单主键值(业务主键值)
 * @param tableName 表名
 * @param valMap 更改变量信息
 */
public void updateDataByBusKeyAndValue2(String busKey, String busValue, String tableName, Map<String,Object> valMap);

/**
 * 通过表单主键值更新相关表单数据
 * @param busKey 表单主键(业务主键)
 * @param tableName 表名
 * @param valMap 更改变量信息
 */
public void updateDataByBusKeyAndValue(String busKey, String busValue, String tableName, Map<String,Object> valMap, Map<String, List<Object[]>> sqls);

/**
 * 通过表单主键值添加相关表单数据
 * @param tableName 表名
 * @param valMap 更改变量信息
 */
public void addDataByBusKey(String tableName,Map<String,Object> valMap);

/**
 * 通过表单主键值添加相关表单数据
 * @param tableName 表名
 * @param valMap 更改变量信息
 */
public void addDataByBusKey(String tableName,Map<String,Object> valMap, Map<String, List<Object[]>> sqls);

/**
 * 根据查找字段信息、表名删除相关数据(事务)
 * @param tableName 表名
 * @param whereParams 查询条件字段信息key,value值
 * @param condition 查询条件
 * @param sqls
 */
public void deleteDataBySql(String tableName,Map<String,Object> whereParams,String condition);

/**
 * 根据查找字段信息、表名删除相关数据
 * @param tableName 表名
 * @param whereParams 查询条件字段信息key,value值
 * @param condition 查询条件
 * @param sqls
 */
public void deleteDataBySql(String tableName,Map<String,Object> whereParams,String condition, Map<String, List<Object[]>> sqls);

/**
 * 
 * 查询数据
 *
 * @param tableName 表名
 * @param queryParams 列名
 * @param params 参数
 * @return
 */
public List<Map<String, Object>> queryDataForList(String tableName,List<String> queryParams,Map<String, String> whereParams, List<String> groupParams);

/**
 * 根据表名,查询字段和查询条件等查询相关数据
 * @param tableName 表名
 * @param queryParams 查询字段
 * @param whereParams 查询条件字段信息
 * @param groupParams 分组字段信息
 * @param condition 查询条件,eg:lilke\in\=等
 * @return
 */
public List<Map<String, Object>> queryListDataByCondition(String tableName,List<String> queryParams,Map<String, String> whereParams, List<String> groupParams,String condition);

/**
 * 
 * 统计数量
 *
 * @param tableName 表名
 * @param queryParams 列名
 * @param params 参数
 * @return
 */
public int sum(String tableName, String field, Map<String, String> whereParams);

/**
 * 更新数据
 * @param tableName 表名
 * @param updateMap 更改变量信息
 * @param whereMap 过滤变量信息
 */
public void updateData(String tableName, Map<String,Object> updateMap, Map<String, Object> whereMap);

/**
 * 更新数据
 * @param tableName 表名
 * @param updateMap 更改变量信息
 * @param whereMap 过滤变量信息
 */
public void updateData(String tableName, Map<String,Object> updateMap, Map<String, Object> whereMap, Map<String, List<Object[]>> sqls);


/**
 * 脚本获取子表某个字段作为当前节点审批人
 * jdbcScript.setUsersBySubTableField("t_sprmxxx","ren_yuan_dan_xuan_",zbsprxx.id,"parent_id_",true);
 * @param subTable  子表表名
 * @param field   子表字段(用户id的字段信息)
 * @param pk  主表主键值(获取人员脚本的表单变量,或传递流程固定的主键变量值:businessKey_)
 * @param fk  子表关联主表的外键字段信息
 * @param isMultiple  是否单选,默认传true,是单选
 * @return
 */
public Set<BpmIdentity> setUsersBySubTableField(String subTable,String field,String pk,String fk,boolean isSingle);