mybatis xml mapper 文件中 if-else 写法

https://www.cnblogs.com/pangguoming/p/8434541.html

mybaits 中没有else要用chose when otherwise 代替

范例一

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!--批量插入用户-->
< insert  id="insertBusinessUserList" parameterType="java.util.List">
     insert into `business_user` (`id` , `user_type` , `user_login` )
     values
     < foreach  collection="list" index="index" item="item" separator=",">
         < trim  prefix="(" suffix=")" suffixOverrides=",">
             < choose >
                 < when  test="item.id != null and item.id !=''">
                     #{item.id,jdbcType=CHAR},
                 </ when >
                 < otherwise >
                     '',
                 </ otherwise >
             </ choose >
             < choose >
                 < when  test="item.userType != null and item.userType !=''">
                     #{item.userType,jdbcType=VARCHAR},
                 </ when >
                 < otherwise >
                     '',
                 </ otherwise >
             </ choose >
         </ trim >
     </ foreach >
</ insert >

 

其中choose为一个整体 
when是if 
otherwise是else

范例二:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
< select  id="selectSelective" resultMap="xxx" parameterType="xxx">
     select
     < include  refid="Base_Column_List"/>
     from xxx
     where del_flag=0
     < choose >
         < when  test="xxx !=null and xxx != ''">
             and xxx like concat(concat('%', #{xxx}), '%')
         </ when >
         < otherwise >
             and xxx like '**%'
         </ otherwise >
     </ choose >
</ select >

 

 下面就是MyBatis中的if....else...表示方法

1
2
3
4
5
6
7
8
< choose >
     < when  test="">
         //...
     </ when >
     < otherwise >
         //...
     </ otherwise >
</ choose >

 


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值