mybatis动态SQL常用的标签

1. 标签

也叫片段,在使用sql片段时使用include标签通过sql片段的id进行引用,sql片段的id在当前空间是唯一的,sql片段中也可以写其他的内容,只要符合语法规范都是可以的。示例:

    
    
        id, name, age, hobby, del_flag, create_time, update_time
    
    

(注:可以是单标签的,效果是一样的,我这里使用了双标签~) 

2.标签

根据where其后是否有sql,判断拼接 where,满足条件就拼接,否则不拼接。示例:

    

3. 标签

类似于Java中的switch分支。只进入一个满足when的条件,如果所有when都不满足,则进入otherwise。示例:

    

 4.标签

与where有相似,其后如果存在条件,则拼接set。标签会动态地在行首插入SET关键字,并且自动帮我们去掉多余的逗号,适用于update,示例:

    
        update animal
        
            
                age = #{age}
            
            
                name = #{name},
            
            
                hobby = #{hobby}
            
        
        where id = #{id}
    
    
    update animal
    
        
            `name` = #{name,jdbcType=VARCHAR},
        
        
            `age` = #{age,jdbcType=VARCHAR},
        
        
            hobby = #{hobby,jdbcType=VARCHAR},
        
        
            create_time = #{create_time,jdbcType=TIMESTAMP},
        
        
            update_time = #{update_time,jdbcType=TIMESTAMP},
        
    
    where id = #{id,jdbcType=INTEGER}
    

 5.标签

   用于遍历List、Map、Array , 属性如下:

  • collection:指定需要遍历的元素
  • item:遍历之后的每一项
  • separator:定义foreach里面语句的分隔符
  • index:map中代表key,数组中代表数组下标
    

6。标签,用来定义变量,示例:

    mapper层:

List getByName(@Param("animalName") String name);

    xml映射层: 

    

你可能感兴趣的:(笔记,sql,mybatis,java,后端)