java~springboot~ibatis数组in查询的实现

在ibatis的xml文件里,我们去写sql语句,对应mapper类的方法,这些sql语句与控制台上没什么两样,但在有些功能上需要注意,如where in这种从数组里查询符合条件的集合里,需要在xml里进行特别的处理。

  <update id="batchUpdate" parameterType="map">
        update customer_info set status=#{status},appoint_time=#{appointTime} where
        customer_id in
        <foreach collection="customerIdArr" item="customerId"
                 index="index" open="(" close=")" separator=",">
            #{customerId}
        </foreach>
    </update>

我们可以看到,在xml里进行了foreach的遍历,而外部参数是一个集合或者数组的对象,我们在xml对它进行遍历,还是比较方便的。

技巧:在xml里,parameterType是输入参数类型,你可以使用map对象来代替;而resultType是返回类型,如果你没有定义DTO也可以使用map代替,虽然map可以让我们的代码变简洁,当然也有缺陷,就是会写很多弱类型的属性名。

原文地址:https://www.cnblogs.com/lori/p/9684893.html

时间: 2024-10-31 17:01:01

java~springboot~ibatis数组in查询的实现的相关文章

PHP领域类型Java中ibatis的API

最近公司技术调整,要把java用php换掉,其中java主要的工作就是查询数据库,并返回json,ORM用的是ibatis,主要用到了Object映射和动态SQL,组员们用的都挺6,转到PHP后,发现PHP里并没有类似ibatis的ORM框架,移植工作量略大,遂决定自己写一个简化版的php-ibatis,主要实现了动态SQL,事务功能,由于PHP的特殊性(OOP慢),Object映射没有实现,返回值都是数组,然后稍微处理一下,用json_encode转成JSON扔给前台就行了.经过几轮的迭代,感

springboot+ibatis 多数据源配置

这个是boot基本版本包,因为我用的打包方式是war所以去除掉了boot内置的tomcat,但是为了方便测试又引入了内置tomcat,只要添加<scope>provided</scope>在打包时就不会影响了. <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> &l

ibatis 使用 in 查询的几种XML写法

1.传入参数是数组 <select id="Test" resultClass="dto"> select * from UserInfo where userId in <iterate open="(" close=")" conjunction="," > #[]# </iterate> </select> 使用 string[] arrays = ne

java~springboot~目录索引

回到占占推荐博客索引 最近写了不过关于java,spring,微服务的相关文章,今天把它整理一下,方便大家学习与参考. java~springboot~目录索引 Java~关于开发工具和包包 Java~类,抽象类和接口 Java~时间戳小知识 Java~命名规范 IntelliJ IDEA~gradle环境配置 springboot~环境搭建与Helloworld springboot~Compiler时开启插件的注解功能 springboot~基于单元测试的mongodb springboot

将Java中的数组进行二次封装成属于我们自己的数组

我们来简略回顾一下Java数组的基础概念: 数组最大的优点是可以快速查询,因为数组直接通过索引查询很快:array[2],所以在随机访问时有一定的优势.其数据结构是简单的线性序列,这使得元素访问非常快速,并且按照索引遍历数组方便 数组最好应用于"索引有语意"的情况 但并非所有有语意的索引都适用于数组,例如索引是身 份 证号这种长度的数字,就无法作为索引使用 而数组也同样可以处理"索引没有语意"的情况 数组的缺点: 根据内容查找元素速度慢 数组的大小一经确定不能改变

Java基础学习——数组初识(1)

Java基础学习--数组初识(1) 1什么是数组 Java中常见的一种数据结构就是数组,数组可以分为一维数组.二维数组和多维数组. 数组是由一组相同的变量组成的数据类型,数组中每个元素具有相同的数据类型,数组中的每个元素都可以用一个统一的数组名和下标来确定. 2 数组的使用 数组的一般使用步骤: 声明数组 分配内存给该数组 下面是一维数组为例: 数据类型  数组名 []: 数组名 = new 数据类型 [数据个数]: 2.1一维数组的声明与赋值 1.数组的声明 int  num [];    

java随机数与数组的使用。

java随机数与数组的使用.    一:题目 二 代码:  public class Students {    int number;  // 学号    int State ;   // 年级    int Score ;    // 成绩         public Students(int number, int state, int score) {        super();        this.number = number;        State = state; 

透过字节码分析java基本类型数组的内存分配方式。

我们知道java中new方式创建的对象都是在堆中创建的,而局部变量对应的值存放在栈上.那么java中的int [] arr={1,2,3}是存放在什么地方的呢,int []arr = new int[3]又是存放在什么地方的呢, 下面我们通过编写两个小例子,通过查看生成的字节码文件,来了解jvm会如何来处理这两种情况的. 1.int[] arr = new int[3]示例 public class ArrayTest { public static void main(String[] arg

慕课网-安卓工程师初养成-6-3 如何使用 Java 中的数组

来源:http://www.imooc.com/code/1525 Java 中操作数组只需要四个步骤: 1. 声明数组 语法:  或者  其中,数组名可以是任意合法的变量名,如: 2. 分配空间 简单地说,就是指定数组中最多可存储多少个元素 语法:  其中,数组长度就是数组中能存放元素的个数,如: 话说,我们也可以将上面的两个步骤合并,在声明数组的同时为它分配空间,如: 3. 赋值 分配空间后就可以向数组中放数据了,数组中元素都是通过下标来访问的,例如向 scores 数组中存放学生成绩 4.