bug-mybatis中jdbcType类型DATE映射问题

2023-11-09

背景

昨天测试反馈问题说某个界面查询数据不准确,明明是在查询条件内的数据却查询不到,很诡异。我看了下,查询条件也只有创建时间这一个,如:2022-1-8 00:00:00~2022-1-8 23:59:59,但在那一天的数据却是死活出不来。

思考

基于这个bug再结合之前的开发经验,我有了以下一些推测:

  1. 查询数据的sql有问题,例如查询的不是创建时间,而是作用到其他时间上面去了
  2. 前端日期传值问题,如使用JSON.stringify转换Date出现了问题
  3. java逻辑代码把查询到的数据过滤掉了

验证

拿这个条件,我导出sql在数据库中执行了一遍,能查询出来数据,那就不是sql的问题了,之后debug查看前端传过来的查询参数,没有问题,时间和我想要的时间没有差异,再下一步一步步往下中,到查询的时候,放开,返回值直接为空集合,到这就很奇怪了,相同条件,相同数据,数据库查询和系统查询居然出现了不一样的结果。到这,我前面的推测显示错误。
后来我想到,系统操作数据库是通过mybatis,在这中间可以又其他的操作,我仔细排查了我写的sql,发现了我写的一行代码:and m.accounts_time >= #{params.ewbCreatedStartTime,jdbcType=DATE}。这个类型映射看起来怪怪的,然后我把DATE替换成了TIMESTAMP,再跑一遍,(o゜▽゜)o☆[BINGO!]可以了

结论

mybatis中 jdbcType 时间类型,当jdbcType = DATE 时, 只传入了 年月日,jdbcType = TIMESTAMP 则包含了时分秒。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

bug-mybatis中jdbcType类型DATE映射问题 的相关文章

随机推荐

  • VirtualBox中Ubuntu 14.04 LTS安装GATE7.1

    开发环境 win7 VirtualBox Ubuntu 14 04 LTS 主要参考博客 1 Compilation Instructions V7 1 2 Gate7 1在Ubuntu下编译 3 Package Requirements
  • 面试官:你了解数据安全传输吗?

    鄢栋 微医云服务团队前端工程师 有志成为一名全栈开发工程师甚至架构师 路漫漫 吾求索 生活中通过健身释放压力 思考问题 看到这个标题 很多老铁会斩钉截铁的说 这道题我会 就是用 HTTPS 来进行安全传输的 对 很优秀 那你知道 HTTPS
  • Spring - SpringMVC(一)

    SpringMVC 第一章 SpringMVC入门 补充 浏览器地址中的绝对路径 代表的就是端口后面 哪怕你在配置文件中配置了项目的映射名 也是端口后面 不是映射名后面 它会直接忽视项目的映射名 只代表端口后边 知识点 概述 1 目标 了解
  • 不同数据类型的相关性分析总结

    在进行数据建模之前 我们一般会进行数据探索和描述性分析 发现数据规律及数据之间的相关性 本文主要从检验方法和可视化图形两个方面对不同数据类型的相关性分析方法进行总结 以加强对数据的了解和认识 为建模打下基础 目录 一 不同数据类型的相关性总
  • STL十大容器 之 list

    特点 内存不连续 底层实现是链表 插入和删除的效率比较快 随机访问效率比较低 和vector相比 不再需要 capacity 和 reserve 操作 因为链表没有大小限制 不需要为了效率增加预分配内存的功能 一 插入和删除 push ba
  • vue中从对象数组中拿到每一个对象的其中一个字段作为下拉框的选项

    原因分析 因为是对象数组 所以不能单纯的用this指向来赋值 解决方案 直接上代码 用到ES6的map 方法 具体使用不懂的还请自己百度哦 这是下拉框的代码
  • 记一次网易前端面试

    很幸运地能收到网易的面试通知 就毫不犹豫翘了课去面试了 hhhh 三点的面试 因为从来没去过那个中关村西北旺区 吃完饭早早就去了 想象中那里应该是繁华的地方 hhhh 到了发现都在建设中 很多还在建设中 看到了网易旁边的百度和搜狐 都是长长
  • OpenCV学习笔记——用haar特征训练自己的分类器(再做手势检测)

    之前介绍过一篇利用级联分类器对目标进行检测的文章http blog csdn net yang xian521 article details 6973667 用的就是haar特征 发现OpenCV自带的库里的haar特征只有人脸 人脸的器
  • Spring 中@NotNull, @NotEmpty和@NotBlank之间的区别是什么?

    简述三者区别 NotNull CharSequence Collection Map 和 Array 对象不能是 null 但可以是空集 size 0 NotEmpty CharSequence Collection Map 和 Array
  • 新手学习导航设计的10个技巧

    如果一个网站有良好的可用性 基本的需求是良好的导航设计 本文结合社区优秀的网页导航设计案例 总结了网页导航设计的10项技能 网页导航设计案例即时设计是一款支持在线协作的专业级 UI 设计工具 支持 Sketch Figma XD 格式导入
  • 大学英语词汇解析 中国大学mooc 华中科技大学 测验题答案

    使用方法 利用浏览器的搜索功能 ctrl F and后面为答案 You should practice your scales every day and a set of notes played or sung in order goi
  • NOIP2004提高组题解

    T1 津津的储蓄计划 考察知识 模拟 算法难度 X 实现难度 X 分析 按照题目的要求模拟就可以了 只是要考虑严谨 还要看懂题目 代码 include
  • 数据结构—稀疏数组

    一 稀疏数组 SparseArray 简介 所谓稀疏数组就是数组中大部分的内容值都未被使用 或都为零 在数组中仅有少部分的空间使用 因此造成内存空间的浪费 为了节省内存空间 并且不影响数组中原有的内容值 我们可以采用一种压缩的方式来表示稀疏
  • PPTP应用实例

    PPTP应用实例 Router to Router安全隧道实例 以下是一个使用因特网上的加密PPTP隧道连接两个企业网的例子 在这个例子中有两个路由器 HomeOffice 接口LocalHomeOffice 10 150 2 254 24
  • docker基础操作命令

    目录 一 进程相关命令 二 镜像相关命令 三 容器相关命令 一 进程相关命令 启动docker服务 systemctl start docker 停止docker服务 systemctl stop docker 重启docker服务 sys
  • 使用 VisSim 和 PLECS 的实时嵌入式和无传感器控制

    特点 提供对交流电气驱动器所有方面的全面了解 从电机和转换器到实施的控制算法 只需最少的数学运算 演示如何使用 VisSim 和 PLECS 中的一组专用硬件平台 电机设置和软件工具来实施和调试电气驱动系统 能够实时控制安全 低电压 和低成
  • 【ES实战】Search的滚动查询(Scroll)

    滚动查询 Scroll 虽然搜索请求返回结果是单个 页面 但scroll API 可用于从单个搜索请求中检索大量结果 甚至所有结果 其方式与在传统数据库使用相似 scrolling不是用于实时用户请求 而是用于处理大量数据 例如 为了将一个
  • 英语学习杂记

    这文章就没有什么逻辑了 仅仅是我觉得比较好的方法 应该时刻提醒我划重点的知识而已 1 有效的单词记忆法 上来先用艾宾浩斯记忆方法死记硬背一遍单词 在这一过程中 你会发现有些单词成为了你记忆中的盲点 就是记不下来 那么可以运用词根词缀联想记忆
  • jquery键盘事件及keycode大全

    jquery的键盘事件分为keypress keydown和keyup事件 一 键盘事件 1 keypress 事件 keypress 当按钮被按下时 会发生该事件 我们可以理解为按下并抬起同一个按键 2 keydown 事件 当按钮被按下
  • bug-mybatis中jdbcType类型DATE映射问题

    背景 昨天测试反馈问题说某个界面查询数据不准确 明明是在查询条件内的数据却查询不到 很诡异 我看了下 查询条件也只有创建时间这一个 如 2022 1 8 00 00 00 2022 1 8 23 59 59 但在那一天的数据却是死活出不来