MyBatis choose 和 bind

本文介绍了MyBatis中的choose标签,它是if标签的增强版,用于处理复杂的条件判断逻辑。bind标签则允许在OGNL上下文中创建新变量供SQL使用。通过示例展示了如何在动态SQL中结合两者进行多条件查询和名称小写化查询。choose提供了类似于编程语言中的if…else结构,而bind则用于变量绑定,简化复杂表达式的处理。

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

1. 前言

本小节我们将一起学习 choose 和 bind 标签。

choose 标签是 if 标签的增强版,适用于更加复杂的条件判断逻辑;而bind 标签则可以在 OGNL 上下文环境中新绑定一个变量,供后面的 SQL 使用。

2. 定义

解释:choose 标签相当于编程语言 if…else 语句,用于动态 SQL 中的多条件判断,是 if 标签的增强版。

bind 标签可以在动态 SQL 中通过 OGNL 表达式来创建一个新的变量绑定到上下文中,供后续的 SQL 使用。

3. 实例

下面是一个融合了 choose 和 bind 标签的实例:

<select id="selectUserByLikeName" resultType="com.5axxw.mybatis.model.User">
  SELECT * FROM 5axxw_user
  WHERE username LIKE
  <choose>
    <when test="_databaseId == 'mysql'">
      CONCAT('%',#{username},'%')
    </when>
    <when test="_databaseId == 'postgre'">
      '%' || #{username} || '%'
    </when>
    <otherwise&g
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值