zoukankan      html  css  js  c++  java
  • 关于mybatis中,批量增删改查以及參数传递的问题

    1、參数传递的问题

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

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

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

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

    我们必须在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批量删除

    4、批量更新


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

  • 相关阅读:
    四叔的c++入门课(6) 条件语句
    四叔的c++入门课(5)变量类型
    四叔的c++入门课程(4)赋值语句与表达式
    四叔的c++入门课(3)变量
    如何选购笔记本电脑?
    四叔的c++入门课(2)Hello World
    四叔的c++入门课(1)什么是编程
    CSS3 transition-property属性
    display:inline、block、inline-block的区别?
    wps怎样删除空白页 WPS文档的空白页如何删除
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/7121431.html
Copyright © 2011-2022 走看看