189 8069 5689

MyBatis常用写法有哪些

小编给大家分享一下MyBatis常用写法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

江永网站建设公司创新互联,江永网站设计制作,有大型网站制作公司丰富经验。已为江永近千家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的江永做网站的公司定做!

什么是 MyBatis ?

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

1、forEach 循环

  forEach 元素的属性主要有 item, idnex, collection, open, separator, close。

1.collection:传入的 List 或 Array 或自己封装的 Map。
2.item:集合中元素迭代时的别名。
3.idnex:集合中元素迭代是的索引。
4.open:where 后面表示以什么开始,如以‘('开始。
5.separator:表示在每次进行迭代是的分隔符。
6.close:where后面表示以什么结束,如以‘)'结束。

//mapper中需要传递一个容器
public List queryByIdList(List userIdList);


  SELECT * FROM user
  WHERE userId IN
  
    #{id}
  

2、concat 模糊查询

//模糊查询使用concat拼接sql

  SELECT * FROM user
  
    
      name like concat('%', concat(#{name}, '%'))
    
  

3、if + where 标签

用 if 标签判断参数是否有效来进行条件查询。


  SELECT * FROM user
  
    
      userId= #{userId}
    
    
      AND name= #{name}
    
    
      AND phone= #{phone}
    
  

where 动态语句中,where 标签会自动去掉 AND 或 OR。防止 WHERE AND 错误。

4、if + set

使用 set 标签可以动态的配置 SET 关键字,使用 if + set 标签,如果某项为 null 则不进行更新。


    UPDATE user
   
       
            name = #{name},
       

       
            phone = #{phone},
       

   

    WHERE userId = #{userId}

5、if + trim 代替 where/set 标签

  trim 可以更灵活的去处多余关键字的标签,可以实现 where 和 set 的效果。


  SELECT * FROM user
  
    
      userId= #{userId}
    
    
      AND name= #{name}
    
    
      AND phone= #{phone}
    
  



  UPDATE user
  
    
      name = #{name},
    
    
      phone = #{phone},
    
  
  WHERE userId = #{userId}

5、choose(when, otherwise)标签

  choose 标签是按顺序判断其内部 when 标签中的 test 条件是否成立,如果有一个成立,则 choose 结束。当 choose 中所有 when 的条件都不满足,则执行 otherwise 中的 sql。类似 java 中的 switch 语句,choose 为 switch,when 为 case,otherwise 则为 default。


  SELECT * FROM user
  
    
      WHERE name = #{name} 
    
    
      WHERE phone= #{phone}
    
    
      WHERE email= #{email}
    
    
      WHERE name = #{name}
    
  

以上是“MyBatis常用写法有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


分享题目:MyBatis常用写法有哪些
分享URL:http://cdxtjz.cn/article/ghicpo.html

其他资讯