一次偶然间遇到的一个问题,MyBatisPlus 自带selectOne代码中查询出来了一条数据,但是在数据库中查出来了多条数据,而代码中也没有报错!好奇之下看了源码才恍然大悟。

public SysFileTemplate findPathByTableName(String tableName) {EntityWrapper<SysFileTemplate> wrapper = new EntityWrapper<>();wrapper.eq("table_name", tableName);wrapper.ne("status", BizCode.Status.DELETE);SysFileTemplate selectOne = selectOne(wrapper);return selectOne;}

以下是mybatisPlus的源码,可以看出selectOne方法也是调用了selectList方法。在看getObject方法,如果selectList方法获取的值大于1时,只是发出一个警告消息 Warn: execute Method There are 2 results.,之后取第一条消息返回去,所以selectOne方法得到的就是一条消息(null值除外)

@Override
public T selectOne(Wrapper<T> wrapper) {return SqlHelper.getObject(baseMapper.selectList(wrapper));
}
 /*** <p>* 从list中取第一条数据返回对应List中泛型的单个结果* </p>** @param list* @param <E>* @return*/public static <E> E getObject(List<E> list) {if (CollectionUtils.isNotEmpty(list)) {int size = list.size();if (size > 1) {logger.warn(String.format("Warn: execute Method There are  %s results.", size));}return list.get(0);}return null;}

特别注意:
1、如果需要将selectOne的返回值传递进行操作的话,必须考虑可能的返回null的情况,否则程序就会异常。

MyBatisPlus 查询selectOne方法相关推荐

  1. Mybatis-plus LambdaQueryWrapper 模糊查询 like方法使用记录

    项目开发过程中使用Mybatis-Plus的lambda 表达式,对其中对模糊查询like方法开始不理解其中参数Boolean是什么作用.后边看其他的方法都是两个对应的,有带Boolean参数的有不带 ...

  2. MyBatis-plus 查询 模糊查询的使用

    在使用MyBatis-plus的时候,一些基础的增删改查可以不用再自己写sql了: public interface UserDao extends BaseMapper<FykUser> ...

  3. Mybatis-plus 查询指定字段 select

    Mybatis-plus 查询指定字段 select 表结构 CREATE TABLE `user` (`id` bigint(20) NOT NULL COMMENT '主键',`name` var ...

  4. MyBatisPlus查询时报错,Unknow column ‘id‘ in ‘field list‘,怎么解决?

    在使用MyBatisPlus的selectById()方法查询数据时,报出了一个错误: java.sql.SQLSyntaxErrorException Create breakpoint Unkno ...

  5. mybatis-plus使用in方法参数过多报错

    mybatis-plus使用in方法参数过多报错 错误截图: 解决方式: /*** mybatis-plus in方法最多支持传递1000个参数,* 为了支持大于1000列表,批处理,这里做下处理.* ...

  6. WMI Series :管理对象的信息查询和方法访问

    管理对象的信息查询和方法访问   在这一节内容,我们将通过几个实例来学习如何查询管理对象信息和访问管理对象提供的方法,这一部分内容将使用到我们在前面讲述到的System.Management命名空间中 ...

  7. mysql 随机记录 newid(),order by newid() 各种数据库随机查询的方法

    这篇文章主要为大家详细介绍了order by newid() 各种数据库随机查询的方法,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! SQL S ...

  8. mysql实现树状查询_MySQL实现树状所有子节点查询的方法

    本文实例讲述了MySQL实现树状所有子节点查询的方法.分享给大家供大家参考,具体如下: 在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方 ...

  9. 2021高考成绩一分段查询陕西省,2021年陕西高考一分一段表查询排名方法 成绩排名位次什么时候公布...

    陕西高考填报志愿最关键的第一步,就是在陕西高考一分一段表查询排名方法考生要在"一分一段表"中查找与自己成绩相对应的分数排名,以及这一位次的成绩共有多少考生,以此来确定个人成绩在全省 ...

  10. php如何实现根据地区内筛选,PHP区块查询实现方法分析

    本文实例讲述了PHP区块查询实现方法.分享给大家供大家参考,具体如下: 分块查询是介于顺序查询和折半查询之间的一种查询方法. 其实折半查询就是每次折半的分块查询,那么分块查询就是把数组分成区块,然后每 ...

最新文章

  1. 酷毙了!三种风格的全屏幻灯片效果【附源码下载】
  2. 机器学习知识总结系列- 知识图谱(0-0)
  3. 深入剖析 linux GCC 4.4 的 STL string
  4. python下标是什么类型_python数据类型
  5. AI 与 5G 时代,实时互联网的下一个风口是什么?
  6. 基于OpenCV的计算机视觉入门(1)图片操作入门
  7. 转:程序员从初级到中级10个秘诀
  8. 解决计算机系统问题开发的软件是,为解决计算机系统问题而开发的软件是。
  9. 杀毒软件-试用卡巴斯基全方位安全软件
  10. 电脑硬盘怎么测试软件,如何通过软件检测电脑硬盘坏道?
  11. HTML5在客户端存储数据的方式
  12. OMNeT 例程 Tictoc9 学习笔记
  13. TokenInsight 对话首席——分片技术的现状与未来(下)
  14. 人工智能AI的春天来临,国内惊现100多元钱的机器视觉组件,即全局曝光的高速工业相机,最高可达210帧每秒。可应用于人脸识别、机器视觉、高速运动目标的图像获取。
  15. [内附完整源码和文档] 基于PHP的网上购物系统设计与实现
  16. 笔记 |《软件测试技术经典教程》第4章 黑盒测试技术
  17. 微信红包服务器卡死,东大跨年红包记--并发案例分析
  18. 品牌方如何筛选高性价比商业UP主?拆解影响B站up主广告报价的因素
  19. 使用Html/Css简单创建一个菜单
  20. [ Java学习 ] 包语句 package等语句的汇总整理

热门文章

  1. python爬虫爬取中央气象台每日天气图
  2. 26 | Superscalar和VLIW:如何让CPU的吞吐率超过1
  3. Uphone开发心得
  4. 腾讯日常实习面试经历
  5. 计算机页面里的坚果云删不了怎么回事,坚果云 常见问题
  6. 工业互联网:制造业的二次升级
  7. Android隐藏app应用图标(隐式启动)
  8. Python批量爬取某图片网站图片
  9. English——Flowers, Language of flowers
  10. 添加打印机,本地打印后台处理程序服务没有运行