发现很久没有更新空间里的日志了,有时候实在忙没有时间记录,有时候又觉得自己整理的不够清晰,还是缓缓在记录吧。

下面直接进入正题

对于急需方法的阅读者  可以直接转至代码以下忽略

对于数据库进行操作的类型一般来说有四种:增删改查。

四种操作中只有查,是不会更改原有数据信息的情况下的操作。而查也往往是,Erp 或应用软件操作次数最多,数据量最大的一种操作。

对于查的优化,我会在以后的文章中提到,现在先不讨论。

对于增,删,改的操作,现在经常出现的问题就是如何根据主键批量删除或新增数据。

往往由于批量操作。大量的连接和释放数据库操作,造成性能浪费。下边就讲解以下  我们在项目中是如何解决这个问题的(此处感谢汪涛的贡献)

删除

<deleteid="DeleteMulti"parameterClass="ArrayList">

DELETE FROM [Area]

WHERE [SysNo] IN

<iterateopen="(" close=")" conjunction=",">

#[]#

</iterate>

</delete>

更新

ps  现在  批量更新 只能解决   更新相同的内容  不能各自取值,这个问题我们也没解决 ,如果你有好办法那么轻留言

<updateid="UpdateMulti" parameterClass="System.Collections.IDictionary">

UPDATE [TaskDetail]

SET [Status]=#InvalidStatus#,[ModifyUserID] = #ModifyUserID#,[ModifyUserName] = #ModifyUserName#,[RowModifyDate]=GETDATE()

WHERE [SysNo] IN

<iterateproperty="ListTaskDetailSysNo" open="(" close=")" conjunction=",">

#ListTaskDetailSysNo[]#

</iterate>

插入(迭代values)

<insertid="InsertMulti"parameterClass="ArrayList">

<![CDATA[

INSERT INTO [CartonDetail] (

[SysNo]

,[CartonSysNo]

,[CartonCode]

,[CartonLineNo]

,[PickSysNo]

,[SKUDesc]

,[SKUCode]

,[QtyPacked]

,[Price]

,[CreateUserID]

,[CreateUserName]

,[ModifyUserID]

,[ModifyUserName]) VALUES

]]>

<iterateconjunction="," open=""close="">

<![CDATA[

(#[].SysNo#,

#[].CartonSysNo#,

#[].CartonCode#,

#[].CartonLineNo#,

#[].PickSysNo#,

#[].SKUDesc#,

#[].SKUCode#,

#[].QtyPacked#,

#[].Price#,

#[].CreateUserID#,

#[].CreateUserName#,

#[].CreateUserID#,

#[].CreateUserName#)

]]>

</iterate>

</insert>

最新文章

  1. [BZOJ4632]树的编码
  2. FlashDevelop快捷键
  3. redhat 6.7 安装nvidia显卡驱动时出现的问题
  4. [saiku] 源码整合[普通WEB项目]
  5. python中的remove趣谈
  6. Docker搭建MySQL服务
  7. Linux内核态抢占机制分析
  8. directory not found for option
  9. The Key to final data
  10. js原生:封装document.getElementByClassName()函数
  11. php中的冒泡排序算法
  12. HDU5339——Untitled
  13. 并发系列(2)之 ThreadLocal 详解
  14. 洛谷P4051 字符加密 [JSOI2007] SA
  15. linux重启Oracle服务
  16. XBee 802.15.4/Digimesh FAQs:如何为2.4G模块选择合适的信道
  17. 在git与tortoisegit中使用openSSH与PuTTY
  18. Ubuntu自定义终端窗口位置
  19. 对懂球帝ios版的用户体验
  20. Java实现web在线预览office文档与pdf文档实例

热门文章

  1. SQL查询的几种方式
  2. 解决&#160;SqlServer执行脚本,文件过大,内存溢出问题
  3. [LeetCode]题解(python):047-Permutations II
  4. 史上最用心的iOS App上架流程【转】
  5. Linux绑定双网卡
  6. android开源框架
  7. androidSDK配置环境变量
  8. 解决Android SDK Manager下载太慢问题
  9. Speed-BI云平台正在公测中,欢迎大家体验!
  10. MySQL之数据类型与操作数据表