Mybatis动态Sql 2019-06-14

2019-06-14  本文已影响0人  琴匣自鸣

基于OGNL(Object Graph Navigation Language)对象图表导航语言实现

主要元素 

1. if  where

当if内test的条件成立时if内的条件会被拼接上,如果where标签内有一个条件判断成立那么where标签会自动在sql语句添加where 并且可以避免第一个条件不成立第二条件成立出现where 后直接跟or 或者and导致sql语句错误情况,即可以智能处理or 和 and

2. trim(清除空格,同时应用四个属性后一定程度上可以替换where)

四个属性 prefix(前缀) suffix(后缀) prefixOverrides(前缀被替换内容) suffixOverrides(后缀被替换内容)

3.set 

if判断参数!=null,如果结果false则不进行set,参数!=null则进行set,避免了sql语句set有多个但是在实际应用中只传参其中几个导致其余自动传参为null使数据修改出错的问题

4. foreach 可以对数组或集合等进行循环
属性  item表示集合中每一个要还俗进行迭代时的别名zhiding 
         index指定一个名称,用于表示迭代的位置相当于下标
         open 表示该语句什么时候开始,同时可以加起始内容
         close 同上,表示结束可以加结尾内容
         separator 每次迭代之间以xxxx作为分隔符
         clooection 表示迭参数类型,三种情况如果是数组 collection=array 如果是List 则collection=list 如果是将数组或者list放入Map然后传参则collection="key值" 

5.choose(when otherwise) 类似于java里的switch, when==case  otherwise==default

上一篇下一篇

猜你喜欢

热点阅读