欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Mybatis动态SQL之IF语句详解

程序员文章站 2022-03-17 23:15:55
mysql 5.0 以后,支持了动态sql语句,我们可以通过传递不同的参数得到我们想要的值.1. mybatis–动态sql之if语句1.1 blogmapper.java // 查询博客...

mysql 5.0 以后,支持了动态sql语句,我们可以通过传递不同的参数得到我们想要的值.

1. mybatis–动态sql之if语句

1.1 blogmapper.java

    //   查询博客
    list<blog> queryblogif(map map);

1.2 blogmapper.xml

    <select id="queryblogif" parametertype="map" resulttype="blog">
        select * from mybatis.blog where 1=1
        <if test="title != null">
            and title = #{title}
        </if>
        <if test="author != null">
            and author = #{author}
        </if>
    </select>

1.3 test.java

1.3.1 第一种情况,不加任何查询条件,默认会把所有数据查出来

    //    第一种情况,不加任何查询条件,默认会把所有数据查出来
    @org.junit.test
    public void test01() {
        sqlsession sqlsession = mybatisutils.getsqlsession();
        blogmapper mapper = sqlsession.getmapper(blogmapper.class);
        map map = new hashmap();
        list<blog> blogs = mapper.queryblogif(map);
        for (blog blog : blogs) {
            system.out.println(blog);
        }
    }

运行结果:

查询出了所有记录

Mybatis动态SQL之IF语句详解

1.3.2 第二种情况,添加参数title

    @org.junit.test
    public void test01() {
        sqlsession sqlsession = mybatisutils.getsqlsession();
        blogmapper mapper = sqlsession.getmapper(blogmapper.class);
        map map = new hashmap();
        map.put("title", "spring");
        list<blog> blogs = mapper.queryblogif(map);
        for (blog blog : blogs) {
            system.out.println(blog);
        }
    }

查询出了一条记录

Mybatis动态SQL之IF语句详解

1.3.3 第三种情况,添加2个参数

    @org.junit.test
    public void test01() {
        sqlsession sqlsession = mybatisutils.getsqlsession();
        blogmapper mapper = sqlsession.getmapper(blogmapper.class);
        map map = new hashmap();
        map.put("title", "微服务");
        map.put("author", "天天天");
        list<blog> blogs = mapper.queryblogif(map);
        for (blog blog : blogs) {
            system.out.println(blog);
        }
    }

Mybatis动态SQL之IF语句详解

总结

到此这篇关于mybatis动态sql之if语句的文章就介绍到这了,更多相关mybatis动态sql if语句内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!