Mybatis常用语法汇总

原文链接:Mybatis常用语法汇总

一、动态sql使用

     1.1、在项目中涉及多个动态查询条件,一般我们是通过 where 1 = 1,这样可以处理where后面对应条件全空的情况,我们可以使用标签,该标签可以自动处理,主要是当我们的sql查询条件以AND和OR结尾时,会自动去除,如

      

  
  
   and title like concat('%',trim(#{keyword}),'%')   
  


 
  
   or name=#{name} 
 
  
   or title like concat('%',trim(#{keyword}),'%')   
  


      1.2、在项目中涉及多个动态update条件时,传统的项目需要我们去除最后一个条件的逗号,但是在mybatis中我们可以使用标签,如

UPDATE user

    name = #{name},
    email = #{email},
    head_url = #{headUrl},
    link_data = #{linkData},
    create_time = #{createTime},
    update_time = #{updateTime}

      1.3、动态if else语句,在mybatis中使用choose、when、otherwise来处理,如下代码

二、mybatis大于、小于、等于

       mybatis 中 SQL 写在mapper.xml文件中,而xml解析 < 、>、<=、>= 时会出错,这时应该使用转义写法,如下

< <= > >= & ' "
< <= > >= & ' "

 

三、mybatis循环标签

       3.1、循环查询in语句,代码如下

       

  

       3.2、批量插入使用循环,代码如下


          insert into user
          ( name,sex,email,remark)
          values
          
            (
              #{item.name},
              #{item.sex},
              #{item.email},
              #{item.remark}
            )
                
 

 

四、重复的sql片段整合在一起使用include标签

定义:
  
  id, name, url, priority, logo, img  
  
引用:
 

五、一对一查询、一对多查询,查看对应博文SpringBoot整合mybatis实现一对一、一对多查询

       

你可能感兴趣的:(Mybatis)