Mybatis if 使用

博客介绍了MyBatis中if标签的使用,包括在<select>和<insert>标签中的应用。同时提到,当存在多个if时,可使用choose进行替代,为Java开发者在使用MyBatis时提供了实用的参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.在<select>标签中使用:

SELECT
su.user_id 
FROM
sys_user su
<where>
   <if test="roleCode != null">
     su.user_id like concat('%', concat(#{ roleCode }, '%'))
   </if>
</where>

2.在<insert>标签中使用:

INSERT INTO
  hdp_cmcc_coa_role (
      COA_ID,
      ROLE_LEVEL,
      ROLE_ID )
VALUES
    (
        #{ coaId } ,
        #{ roleLevel },
        <if test='roleLevel == "ROLE"'>
         ( SELECT role_id FROM sys_role_b WHERE ROLE_NAME = #{ roleName })
        </if>
        <if test='roleLevel == "USER"'>
         ( SELECT user_id FROM sys_user WHERE user_name = #{ roleName })
        </if>
    )

如果有多个if,可以使用choose替代:

       <choose>
            <when test='roleLevel == "USER"'>
                ( SELECT user_id FROM sys_user WHERE user_name = #{ roleName })
            </when>
            <otherwise>
                ( SELECT role_id FROM sys_role_b WHERE ROLE_NAME = #{ roleName })
            </otherwise>
        </choose>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值