【Mybatis】【8】if标签中文判断的处理

本文介绍在MyBatis中使用XML进行IF条件判断时,如何正确处理字符串比较,特别是涉及中文的情况。通过示例代码展示如何避免NULL指针异常和空字符串误判的问题。
部署运行你感兴趣的模型镜像

正文:

加上.toString()

<if test="name!= null  and name!= '' and name!= ''.toString()">
    AND NAME = #{name}
</if>

参考博客:

Mybatis中xml对if标签中文判断的处理 - 每天进步一点点 - 优快云博客
https://blog.youkuaiyun.com/weisong530624687/article/details/50728310

转载于:https://www.cnblogs.com/huashengweilong/p/10991895.html

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

MyBatis Plus 基于 MyBatis,其 `<if>` 标签使用的是 OGNL 表达式。在 MyBatis Plus 的映射文件里,用 `<if>` 标签判断字符串通常有以下两种方法: ### 单引号与双引号结合 在判断字符串是否相等时,需要把单引号和双引号结合起来使用。示例如下: ```xml <select id="getUserList" parameterType="map" resultMap="userResultMap"> SELECT * from user u WHERE 1 = 1 <if test="sex == 'Y'"> AND u.sex = 'Y' </if> </select> ``` 这里,`test` 属性里的 `sex` 为传入的参数,通过 `==` 判断其是否和字符串 `'Y'` 相等。 ### 使用 `equals` 方法 可以借助 `equals` 方法来判断字符串是否相等。示例如下: ```xml <select id="getUserList" parameterType="map" resultMap="userResultMap"> SELECT * from user u WHERE 1 = 1 <if test="sex != null and sex.equals('Y')"> AND u.sex = 'Y' </if> </select> ``` 此例中,先判断 `sex` 不为 `null`,接着用 `equals` 方法判断其是否和字符串 `'Y'` 相等。 ### 避免空指针异常的方法 为避免空指针异常,可使用 `@java.lang.String@valueOf` 方法,该方法无需判空,`null` 会变为字符串 `"null"`。示例如下: ```xml <select id="getUserList" parameterType="map" resultMap="userResultMap"> SELECT * from user u WHERE 1 = 1 <if test="@java.lang.String@valueOf(sex).equals('Y')"> AND u.sex = 'Y' </if> </select> ``` 这里,运用 `@java.lang.String@valueOf(sex)` 把 `sex` 转为字符串,再用 `equals` 方法判断是否和字符串 `'Y'` 相等 [^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值