1、參数传递的问题

大多数情况下,我们都是利用map作为參数,而且大部分情况下都是仅仅有一个參数。

可是,我们也能够利用@param注解,来传入多个參数,此时,mybatis会自己主动将參数封装成map,便于在配置文件里获取。

当使用数组或者list等作为參数时,必须在遍历时指出參数类型,并且假设仅仅有一个參数,名称无关紧要。我们能够以不论什么名称获得该參数。

比如例如以下传入数组作为參数

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

我们必须在collection中指明參数类型为array

2、批量加入的问题

对于批量处理数据的问题。mybatis为我们提供了<foreach>语句来帮助我们遍历集合的问题。

对于1中的配置文件,item指明当前遍历的对象。collection指明传入的集合类型,open指明迭代以什么符号開始,separator指明迭代间用什么符号切割,close指明迭代用什么符号结束。还有index能够指明迭代的索引。

1、批量查询

从以上的函数中能够看出,我们传入list作为查询条件的集合,必须指明collection为list,这时的parameterType属性能够不必指明,同一时候多个迭代之间以or切割。终于组成的查询语句相当于where () or ()
or () ...这里有一点须要注意一下。open与colse指明的符号仅仅是在迭代開始和结束时才加入,而在<foreach></foreach>中间指明的每次都会加入,倘若我们在这里也加上open = "(" 与close = ")" 此时终于形成的语句就相当于where ( () or () or ()..       )不符号sql的规范,导致报错

2、批量加入

3、批量删除

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

4、批量更新

參考文章:http://www.suyunyou.com/aid5.html

最新文章

  1. .NET 环境中使用RabbitMQ
  2. mysql 用drop和delete方法删除用户的区别
  3. 第9章 硬件抽象层:HAL
  4. ROS 新手教程 命令汇总
  5. Android sdk manager不能更新下载缓慢的解决方法
  6. (九)STM32之AFIO
  7. supplicant
  8. CentOS6 下MySQL option file
  9. 【转】 wget 命令用法详解
  10. 在Raspberry Pi上安装XBMC
  11. oracle to_date函数(转载)
  12. API的文档自动生成——基于CDIF的SOA基本能力
  13. Django“少折腾”
  14. chrome添加扩展程序
  15. ping命令返回的TTL值判断操作系统
  16. STM32云平台连接培训20180814
  17. The last packet successfully received from the server was 20,519 milliseconds ago. The last packet sent successfully to the server was 0 milliseconds ago.
  18. background低版本安卓浏览器不支持复合属性,要分开写
  19. ES6 数值的扩展
  20. Find the squareroot

热门文章

  1. I帧、P帧和B帧的特点
  2. [Android]新建项目继承Activity不继承ActionBarActivity
  3. Json技术
  4. JAVA基础针对自己薄弱环节总结02(循环)
  5. jquery08
  6. 83.const与类
  7. 洛谷 P1226 取余运算||快速幂
  8. js--07 编解码,eval
  9. ListView- 最后一行添加控件
  10. javascript创建对象的方法--原型模式