六、动态SQL


  • if (判断)
  • choose(分支选择)
    • when
    • otherwise
  • trim
    • where
    • set
  • foreach

if

  • test : 判断表达式(OGNL)
  • 从参数中取值判断

普通的

    

封装查询条件


  • prefix="" : 添加sql的前缀
  • prefixOverrides="" 指定去掉前边多余的字符串
  • suffix="" sql的后缀
  • suffixOverrides=""指定去掉后面多余的字符串

choose

  • 类似于分支语句 switch
    
    

set

  • 更新
  • 也可以使用trim 进行处理
    
    
        
        UPDATE users
        
        
            
                uname=#{uname},
            
            
                birthday=#{birthday},
            
        
        WHERE uid=#{uid}
    

foreach

  • collection:指定输入对象中的集合属性的名称
  • item:每次遍历生成的对象
  • open:开始遍历时的拼接字符串
  • eparator:遍历对象之间需要拼接的字符串

范围查找


    

批量插入

  • 注意如果使用 ${ } 需要加 单引号 '${}'

    
    INSERT INTO test.users (uname, birthday) 
    VALUES
        
            (#{us.uname} , #{us.showBirthday})
        
    

参数

databaseId=""

  • 代表当前数据库的别名

配合if判断数据库

parameter=""

  • 单个参数 : parameter就是这个参数
  • 多个参数 : 参数会被封装为一个map,parameter就代表这个map

配合if判断是否传入参数

sqlinclude

  • sql抽取重复使用的sql语句片段
  • include插入指定的sql

声明

select * from

插入


你可能感兴趣的:(六、动态SQL)