Mybatis plus中使用in查询出错如何解决

 更新时间:2020年08月06日 11:27:39   作者:枭雄的天下  
这篇文章主要介绍了Mybatis plus中使用in查询出错的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

不想看我bb的直接点上面的 ‘'解决方法‘'

我的情况是这样的,在使用mybatis plus提供的QueryWrapper方法里的in查询时,我的参数为类似“1,2,3,4”这样的字符串

	//要查的参数
    String masterIds = "81554,5654,55948,48945";

    QueryWrapper<FpjyPauperInfo> pauperqw = new QueryWrapper<>();
    pauperqw.in("user_id",masterIds);

		UserInfoService.list(pauperqw);

结果返回的数据与在数据库查出来的数据不一样(这是我的情况,不知道你们会不会这样),我看了控制台的sql代码

==> Preparing:SELECT user_id,user_name,update_job_dt,group_name,create_dt,create_by,
update_dt,update_by FROM fpjy_pauper_info WHERE (user_id IN (?)) 
==> Parameters: 81554,5654,55948,48945(String)
<==   Total: 0

查询错误原因

我就在网上早了一下发现,在使用mybatis plus提供的QueryWrapper方法时,你给它的参数是String类型时,在控制台上看着是对的,但是他会默认在参数的前面和后面加上单引号,因为在mybatis plus里
的xml配置文件里(类似于UserInfoMapper.xml的文件),给的参数是用 #{参数名} 的方式

//这段代码只是举个例子
    SELECT * FROM userinfo WHERE (user_id IN (#{ids}))

解决方法

这只是我这种情况的解决方法哦
找到你要使用的对象的xml文件(类似于UserInfoMapper.xml的文件)在里面自定义sql语句代码,给参数要用 ${参数名} 的方式,不会自定义sql语句可以去网上查查,网上有太多了,在这里我就不写了。

//这段代码只是举个例子
    SELECT * FROM userinfo WHERE (user_id IN (${ids}))

控制台sql语句输出结果

==>  Preparing:SELECT * FROM fpjy_pauper_info WHERE (user_id IN (81554,5654,55948,48945))
==> Parameters:
<==      Total: 4

总结

到此这篇关于Mybatis plus中使用in查询出错如何解决的文章就介绍到这了,更多相关Mybatis plus使用in查询出错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java实现字符串转为驼峰格式的方法详解

    Java实现字符串转为驼峰格式的方法详解

    这篇文章主要介绍了如何利用Java语言实现字符串转为驼峰格式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-07-07
  • 深入浅析hbase的优点

    深入浅析hbase的优点

    本文讲述了HBase的特征和它的优点,并简要回顾了行键设计的重点之处,它还向你展示了如何在本地配置HBase环境,使用命令创建表、插入数据、检索指定行以及最后如何进行scan操作,感兴趣的朋友一起看看吧
    2017-09-09
  • 详解Java如何实现小顶堆和大顶堆

    详解Java如何实现小顶堆和大顶堆

    今天给大家带来的是关于Java的相关知识,文章围绕着Java如何实现小顶堆和大顶堆展开,文中有非常详细的解释及代码示例,需要的朋友可以参考下
    2021-06-06
  • Java使用UTF-8或GBK编码后还是乱码问题的解决办法

    Java使用UTF-8或GBK编码后还是乱码问题的解决办法

    在java中处理字符时,经常会发生乱码,下面这篇文章主要给大家介绍了关于Java使用UTF-8或GBK编码后还是乱码问题的解决办法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • Java初学者问题图解(动力节点Java学院整理)

    Java初学者问题图解(动力节点Java学院整理)

    本文通过图文并茂的形式给大家介绍了java初学者问题,非常不错,具有参考借鉴价值,需要的朋友参考下
    2017-04-04
  • SpringBoot DevTools之开发工具与热部署机制详解

    SpringBoot DevTools之开发工具与热部署机制详解

    本文将深入探讨Spring Boot DevTools的核心功能、配置方法以及最佳实践,帮助开发者显著提升开发效率,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • 使用ShardingJDBC进行数据分片以及读写分离

    使用ShardingJDBC进行数据分片以及读写分离

    ShardingJDBC是一个轻量级的Java框架,提供了数据分片、读写分离、分布式主键生成等数据访问功能,本文将给大家介绍如何使用ShardingJDBC进行数据分片以及读写分离,需要的朋友可以参考下
    2024-01-01
  • Java并发中线程封闭知识点详解

    Java并发中线程封闭知识点详解

    在本篇文章里我们给大家整理了关于Java并发中线程封闭的知识点总结内容,需要的朋友们学习参考下。
    2019-07-07
  • idea运行java项目main方法报build failure错误的解决方法

    idea运行java项目main方法报build failure错误的解决方法

    当在使用 IntelliJ IDEA 运行 Java 项目的 main 方法时遇到 "Build Failure" 错误,这通常意味着在项目的构建过程中遇到了问题,以下是一些详细的解决步骤,以及一个简单的代码示例,用于展示如何确保 Java 程序可以成功构建和运行,需要的朋友可以参考下
    2024-09-09
  • Spring手动获取bean的四种方式

    Spring手动获取bean的四种方式

    本文主要介绍了Spring手动获取bean的四种方式,包括BeanFactoryPostProcessor接口,ApplicationContextAware接口,注解 @PostConstruct 初始化时获取,启动类ApplicationContext获取这四种方法,感兴趣的可以了解一下
    2024-01-01

最新评论