Mybatis动态SQL之IF语句详解

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);        }    }

运行结果:

查询出了所有记录

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);        }    }

查询出了一条记录

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语句详解

相关文章:

你感兴趣的文章:

标签云: