ibatis 插入,返回自增id,批处理

  <!-- 新增渠道维护记录 -->
 <insert id="addChannelMaintainRecord" parameterClass="ChannelMaintainRecord">
  insert into T_QD_ACTIVITY_LOG(CREATOR,CREATE_DATE,MAINTAIN_TYPE,EXPENSE,COMMUNICATE_PURPOSE,
  PROJECT_ID,VISIT_PURPOSE,COMMUNICATE_RESULT,GAINS,CHANNEL_CODE,EMPLOYEE_LIST,TASK_ID)
  values (#creator#,getdate(),#maintainType.dictionaryCode#,#expense#,#communicatePurpose.dictionaryCode#,#project.projectId#,#visitPurpose#,
  #communicateResult#,#gain#,#channel.channelCode#,#employeeNameList#,#channelTask.taskId#)
  <selectKey resultClass="Integer" keyProperty="recordId" type="post">
   select @@IDENTITY as value
  </selectKey>
 </insert>

 

 <insert id="insertOrUpdateShengHang" parameterClass="distinctShengHang">
  update T_QD_CHANNEL_TT
  set PARENT_CODE = #parentChannelId#,
   PARENT_ORG_CODE = #parentOrgId#,
   CHANNEL_NAME = #channelName#,
   CHANNEL_ADDRESS = #channelAddress#,
   CHANNEL_TYPE = #channelType#
  where CHANNEL_CODE = (select b.CHANNEL_CODE from T_QD_CHANNEL_ORGCODE_TT a, T_QD_CHANNEL_TT b where b.PARENT_ORG_CODE = #parentOrgId# and a.ORGANIZE_CODE = #orgId# and a.CHANNEL_CODE = b.CHANNEL_CODE)
  if @@ROWCOUNT = 0
  insert into T_QD_CHANNEL_TT (
   CHANNEL_CODE,
   CHANNEL_NAME,
   CHANNEL_ADDRESS,
   CHANNEL_TYPE,
   PARENT_CODE,
   CHANNEL_LEVEL,
   PARENT_ORG_CODE)
  values (
   (select stuff((select CHANNEL_CODE from T_QD_CHANNEL_TT WHERE CHANNEL_CODE = #parentChannelId#), 4,3,
    (SELECT right('000' + (cast(isnull(max(SUBSTRING(CHANNEL_CODE,4,3) + 1), '001') as varchar)),3) from T_QD_CHANNEL_TT))),
   #channelName#,
   #channelAddress#,
   #channelType#,
   #parentChannelId#,
   1,
   #parentOrgId#);
  <selectKey resultClass="String" keyProperty="channelId" type="post">
   select CHANNEL_CODE from T_QD_CHANNEL_TT where SERIAL_NO = (select @@IDENTITY as value)
  </selectKey>
 </insert>

 

------

批处理

 /*
  * 保存网点维护人
  */
 @Override
  public void addEmployeeChannel(final List<EmployeeChannelDto> employeeChannelList) {
        this.getSqlMapClientTemplate().execute(new SqlMapClientCallback() {
            public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {
                executor.startBatch();
                for (int i = 0; i < employeeChannelList.size(); i++) {
                    executor.insert("addEmployeeChannel", employeeChannelList.get(i));
                }
                executor.executeBatch();
                return null;
            }
        });
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值