Mybatis中使用in()查询

这篇文章我会演示几种mybatis中使用in查询的方式。

1 数组、字符串

2 集合

3 使用Myabtis-plus框架的条件构造器来实现

我们在mysql中使用in查询的方式是这样的

Mybatis中使用in()查询_第1张图片

 那在mybatis中我们使用标签来实现包含查询

1 使用数组方式

Mapper:

Mybatis中使用in()查询_第2张图片

 Mapper.xml:

 :foreach中的 collection标签中为array,item是遍历ids中的每个元素,默认为item可以自定义。

测试类:

Mybatis中使用in()查询_第3张图片

我们可以使用字符串来接收参数,使用逗号分隔每个参数,然后把分隔后的参数放到集合中。

 Mybatis中使用in()查询_第4张图片

 2 使用List集合的方式

Mapper:

Mybatis中使用in()查询_第5张图片

 Mapper.xml

 使用list方式collection的value必须为list

 测试:

Mybatis中使用in()查询_第6张图片

3 第三种我们使用Mybatis-plus框架的条件构造器来进行查询

@Test
    void Test(){
        QueryWrapper qw = new QueryWrapper<>();
        qw.in("id",7,9);
        List students = studentMapper.selectList(qw);
        System.out.println(students.toString());
    }

条件构造器相关的方法在我另一篇博客,总结了常用的多种方法,以供大家参考:

Mybatis-plus的条件构造器详细使用教程_保加利亚的风的博客-CSDN博客_mybatis构造器

 测试结果:

[Student(id=7, name=蔡徐坤, age=18), Student(id=9, name=金科徐, age=18)]

你可能感兴趣的:(mybatis,java,数据库)