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語句內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Mybatis 動態SQL搭建環境的全過程
- Mybatis CURD及模糊查詢功能的實現
- Mybatis註解增刪改查的實例代碼
- 詳細聊聊Mybatis中萬能的Map
- MyBatis中map的應用與模糊查詢實現代碼