当前位置: 首页 > article >正文

问题-01

Mybatis比较失效问题

1、问题复现

whetherPromoterNull是字符串类型,0使用单引号包裹,进行比较时发现不起作用

    <if test="whetherPromoterNull != null and whetherPromoterNull.trim() == '0'"> and sui.share_user_id is not null</if>

2、原因

在MyBatis的条件判断中,使用单引号或双引号来括起字符串值都是可以的。但是在比较字符串类型的数字时,它们会产生不同的效果

  • 不加引号:比较数值时正常。若whetherPromoterNull是数值类型,比较数值时正常
  • 单引号:比较字符串时正常,比较数值时不正常。若whetherPromoterNull是数值类型,比较数值时不正常
  • 双引号:比较字符串时正常,比较数值时正常。若whetherPromoterNull是数值类型,比较数值时正常

3、解决方法

//将数值类型通过toString方法变成字符串类型
<if test="whetherPromoterNull != null and whetherPromoterNull.trim() == '0'.toString()"> and sui.share_user_id is not null</if>

//使用双引号将数值类型变成字符串类型
<if test='whetherPromoterNull != null and whetherPromoterNull.trim() == "0"'> and sui.share_user_id is not null</if>

//不加引号
<if test="whetherPromoterNull != null and whetherPromoterNull.trim() == 0"> and sui.share_user_id is not null</if>

http://www.kler.cn/a/457274.html

相关文章:

  • 【每日学点鸿蒙知识】无障碍、getLastLocation、蓝牙问题、卡片大小、关系型数据库等
  • 从0开始的docker镜像制作-ubuntu22.04
  • 微信小程序调用 WebAssembly 烹饪指南
  • 基于Flask后端框架的均值填充
  • 【蓝桥杯】:蓝桥杯之路径之谜
  • 基于ArcGIS Pro的SWAT模型在流域水循环、水生态模拟中的应用及案例分析;SWAT模型安装、运行到结果读取全流程指导
  • 学习C++:数据类型
  • Jmeter录制https请求
  • 在asp.net webapi项目中 将数据库连接字符串写在配置文件中,及Program配置Serilog存放路径以及设置
  • JavaWeb期末复习
  • Wordly Wise 3000 国际背单词01 介绍 + 测词汇量
  • 【Beats01】企业级日志分析系统ELK之Metricbeat与Heartbeat 监控
  • Python 占位符详细笔记
  • C语言的数据结构
  • vue3 video 播放rtmp视频?(360浏览器支持)
  • mysql系列7—Innodb的redolog
  • 分布式版本管理工具——git中分支的相关知识
  • Webpack在Vue CLI中的应用
  • 7.即时通讯
  • 深度学习中batch_size
  • MySQL并发问题区别-MVCC如何解决的
  • Linux 下 Mamba 环境安装踩坑问题汇总(重置版)
  • 【前端】Vue3 父传子 Dialog 显示问题:解决方案与最佳实践
  • 狼人杀.转载
  • 神经网络初学总结(一)
  • 国密算法SM3的GmSSL代码Android实现Demo