关于sql:sql-标签的使用

13次阅读

共计 1342 个字符,预计需要花费 4 分钟才能阅读完成。

条件

  <choose>
        <when test="isUpload">
       
        </when>
        <otherwise>
         
        </otherwise>
    </choose>
    choose 标签是按程序判断其外部 when 标签中的 test 条件出否成立,如果有一个成立,则 choose 完结。当 choose 中所有 when 的条件都不满则时,则执行 otherwise 中的 sql。相似于 Java 的 switch 语句,choose 为 switch,when 为 case,otherwise 则为 default。<where> <if>
     <where>
     <if test="id != null">id=#{id}</if>
     <if test="name != null and name.length()>0" >and name=#{name}</if>
     <if test="gender != null and gender.length()>0">and gender = #{gender}</if>
     </where>

函数

IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。

去余

 <trim prefix=""suffix="" suffixOverrides=""prefixOverrides=""></trim>
prefix: 在 trim 标签内 sql 语句加上前缀。suffix: 在 trim 标签内 sql 语句加上后缀。suffixOverrides: 指定去除多余的后缀内 
容,如:suffixOverrides=",",去除 trim 标签内 sql 语句多余的后缀 ","。

汇合

in 搭配 <foreach> 传递多个参数
item:汇合中元素迭代时的别名,该参数为必选。index:在 list 和数组中,index 是元素的序号,在 map 中,index 是元素的 key,该参数可选
open:foreach 代码的开始符号,个别是 (和 close=")" 合用。罕用在 in(),values() 时。该参数可选
separator:元素之间的分隔符,例如在 in()的时候,separator="," 会主动在元素两头用“,“隔开,防止手动输出逗号导致 sql 谬误,如 in(1,2,)这样。该参数可选。close: foreach 代码的敞开符号,个别是)和 open="(" 合用。罕用在 in(),values()时。该参数可选。collection: 要做 foreach 的对象,作为入参时,List 对象默认用 "list" 代替作为键,数组对象有 "array" 代替作为键,Map 对象没有默认的键。当然在作为入参时能够应用 
@Param("keyName")来设置键,设置 keyName 后,list,array 将会生效。除了入参这种状况外,还有一种作为参数对象的某个字段的时候。举个例子:如果 User 有属性 List ids。入参是 User 对象,那么这个 collection = "ids". 如果 User 有属性 Ids ids; 其中 Ids 是个对象,Ids 有个属性 List id; 入参是 User 对象,那么 collection = "ids.id"

获取某个要害值

在 mapper 文件加 useGeneratedKeys="true" keyProperty="id"。这里是获取的 id

正文完
 0