广告
返回顶部
首页 > 资讯 > 精选 >mybatis使用Integer类型查询出现的问题怎么解决
  • 655
分享到

mybatis使用Integer类型查询出现的问题怎么解决

2023-06-29 11:06:28 655人浏览 泡泡鱼
摘要

本文小编为大家详细介绍“mybatis使用Integer类型查询出现的问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“mybatis使用Integer类型查询出现的问题怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入

本文小编为大家详细介绍“mybatis使用Integer类型查询出现的问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“mybatis使用Integer类型查询出现的问题怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

使用Integer类型查询出现的问题

mapper.xml :

<select id="count" parameterType="com.pinyu.system.WEB.page.Page" resultType="java.lang.Integer">        select count(m.id) from hr_push_msg_model as m        <where>            <if test="page.keyWord != null and page.keyword != ''">                m.text like '%${page.keyword}%'            </if>            <if test="page.entity != null">                <if test="page.entity.text != null and page.entity.text != ''">                    and  m.text like '%${page.entity.text}%'                </if>                <if test="page.entity.title != null and page.entity.title != ''">                    and  m.title like '%${page.entity.title}%'                </if>                <if test="page.entity.state != null and page.entity.state != ''">                    and  m.state = #{page.entity.state}                </if>                <if test="page.entity.type != null and page.entity.type != ''">                    and  m.type = #{page.entity.type}                </if>            </if>        </where>    </select>

比如:

<if test="page.entity.state != null and page.entity.state != ''">                    and  m.state = #{page.entity.state}                </if>

当state这个值为0的时候

mybatis为默认为空字符串"",所以如果状态这种类似的场景有0值得,查询就不要加上xxxx!=""这种。或者or xxx==0

代码示例:

<if test="page.entity.state != null">     and  m.state = #{page.entity.state}</if>
<if test="page.entity.state != null and page.entity.state != '' or page.entity.state==0">    and  m.state = #{page.entity.state}</if>

mybatis判断Integer遇到的bug

场景产出

需要查出状态为0的所有用户

我是这样写的

mapper:

BaseUser selectUserByStatus(@parm("status") Integer status);

这里传了0进去

sql

SELECT * FROM base_user WHERE status=0

xml片段

<if test="status != null and status != ''">    status = #{status},</if>

结果真正执行的sql

SELECT * FROM base_user

小结一下:

test="status != null and status != ''"这个是拿来判断String的!!!也就是说Double,BigDecimal等数字类型也会出现这样的情况

如果是Integer类型的话,如果变量的值是0,即 num = 0, mybatis在进行 num != '' " 的时候会认为  num 的值是空字符串;直接跳过判断了

所以如果是Integer类型只需要判断 != null 即可

如果String类型需要判断不等于0,则需要写name != '0'.toString(),否则会报错。

读到这里,这篇“mybatis使用Integer类型查询出现的问题怎么解决”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: mybatis使用Integer类型查询出现的问题怎么解决

本文链接: https://www.lsjlt.com/news/324656.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mybatis使用Integer类型查询出现的问题怎么解决
    本文小编为大家详细介绍“mybatis使用Integer类型查询出现的问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“mybatis使用Integer类型查询出现的问题怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入...
    99+
    2023-06-29
  • mybatis使用Integer类型查询可能出现的问题
    目录使用Integer类型查询出现的问题当state这个值为0的时候mybatis判断Integer遇到的bug场景产出我是这样写的使用Integer类型查询出现的问题 mapper...
    99+
    2022-11-13
  • mybatis的integer类型为0的失效问题怎么解决
    本篇内容介绍了“mybatis的integer类型为0的失效问题怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!integer类型为0...
    99+
    2023-06-26
  • 使用Mybatis遇到的坑之Integer类型参数问题怎么解决
    这篇文章主要讲解了“使用Mybatis遇到的坑之Integer类型参数问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“使用Mybatis遇到的坑之Integer类型参数问题怎么解决...
    99+
    2023-07-05
  • 关于泛型擦除问题的解决--Mybatis查询类型转换
    目录概念介绍问题案例原因分析解决方案总结概念介绍 Java语言的泛型采用的是擦除法实现的伪泛型,泛型信息(类型变量、参数化类型)编译之后通通被除掉了。使用擦除法的好处就是实现简单、非...
    99+
    2022-11-13
  • mybatis使用foreach查询不出结果也不报错的问题怎么解决
    本篇内容介绍了“mybatis使用foreach查询不出结果也不报错的问题怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!foreac...
    99+
    2023-06-29
  • Java中Integer使用的问题怎么解决
    这篇“Java中Integer使用的问题怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java中Integer使用的...
    99+
    2023-07-04
  • 怎么解决MySQL数据库出现慢查询问题
    这篇文章主要讲解了“怎么解决MySQL数据库出现慢查询问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么解决MySQL数据库出现慢查询问题”吧!1、My...
    99+
    2022-10-18
  • oracle分页查询出现重复问题怎么解决
    在Oracle中,分页查询出现重复问题通常是由于查询条件不准确或者排序方式不正确导致的。以下是一些常见的解决方法:1. 确保查询条件...
    99+
    2023-08-09
    oracle
  • mybatis一对一查询一对多查询遇到的问题怎么解决
    这篇文章主要介绍“mybatis一对一查询一对多查询遇到的问题怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mybatis一对一查询一对多查询遇到的问题怎么解决”文章能帮助大家解决问题。实体...
    99+
    2023-06-30
  • Mybatis对sql表的一对多查询问题怎么解决
    这篇“Mybatis对sql表的一对多查询问题怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Mybatis对sql表...
    99+
    2023-07-02
  • 使用jBuilder8出现问题怎么解决
    如果您在使用jBuilder8时遇到问题,可以尝试以下解决方案: 确保您的操作系统和Java版本与jBuilder8的要求兼容。...
    99+
    2023-10-28
    jBuilder8
  • 怎么解决mybatis映射和实际类型不一致的问题
    本篇内容主要讲解“怎么解决mybatis映射和实际类型不一致的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决mybatis映射和实际类型不一致的问题”吧!mybatis映射和实际类型...
    99+
    2023-06-21
  • Mybatis-plus使用selectList查询数据为null的问题及解决办法
    目录概述原因解决方案概述 使用mybatis-plus的selectList查询数据封装进list 打印为null javaben和数据库字段也能对应上 原因 可以从图片看的出...
    99+
    2022-11-13
  • springboot数据库查询时出现时区差异问题怎么解决
    今天小编给大家分享一下springboot数据库查询时出现时区差异问题怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。...
    99+
    2023-07-04
  • Redis中使用Pipelining加速查询的问题怎么解决
    这篇“Redis中使用Pipelining加速查询的问题怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Redis中使...
    99+
    2023-06-30
  • vue3使用socket.io的出现的问题怎么解决
    今天小编给大家分享一下vue3使用socket.io的出现的问题怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。问题一...
    99+
    2023-07-05
  • 怎么解决使用ip上网出现的问题
    这篇文章主要讲解了“怎么解决使用ip上网出现的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么解决使用ip上网出现的问题”吧!访问某个网站时,如果网站页面无法打开,无法登录密码,抓取信...
    99+
    2023-06-20
  • mybatis使用${}时sql注入的问题怎么解决
    这篇文章给大家介绍mybatis使用${}时sql注入的问题怎么解决,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。mybatis使用${}时sql注入的问题最近在上线项目的时候,代码审查没有通过,提示有sql注入的风险...
    99+
    2023-06-22
  • 怎么解决Mysql多行子查询的使用及空值问题
    这篇文章主要讲解了“怎么解决Mysql多行子查询的使用及空值问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么解决Mysql多行子查询的使用及空值问题”吧!1 定义也称为集合比较子查询内...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作