mybatis查询当年的数据、查询当天的数据、查询当年每个月的数据

2023-10-30

mybatis查询当年、当天的数据,查询当年每个月的数据

最近遇到公司的需求,查询一个表里面当年的数据和当年每个月的数据。

测试数据表如下:
在这里插入图片描述
很显然我们要对time字段进行操作。

查询当天的数据

我们可以在where后面这么写:

AND TO_DAYS(rgv_table.time) = TO_DAYS(NOW())

查询当年的数据

AND YEAR(rgv_table.time) = YEAR(NOW())

查询当年每个月的数据

就是把当年每一个月的数据都查询出来,

我们可以在where后面这么写:

       <if test="month != null and month==1">
			AND DATE_FORMAT( rgv_table.time,'%Y-%m') = CONCAT(YEAR(NOW()), '-01')
		</if>
		<if test="month != null and month==2">
			AND DATE_FORMAT( rgv_table.time,'%Y-%m') = CONCAT(YEAR(NOW()), '-02')
		</if>
		<if test="month != null and month==3">
			AND DATE_FORMAT( rgv_table.time'%Y-%m') = CONCAT(YEAR(NOW()), '-03')
		</if>
		<if test="month != null and month==4">
			AND DATE_FORMAT( rgv_table.time,'%Y-%m') = CONCAT(YEAR(NOW()), '-04')
		</if>
		<if test="month != null and month==5">
			AND DATE_FORMAT( rgv_table.time,'%Y-%m') = CONCAT(YEAR(NOW()), '-05')
		</if>
		<if test="month != null and month==6">
			AND DATE_FORMAT( rgv_table.time,'%Y-%m') = CONCAT(YEAR(NOW()), '-06')
		</if>
		<if test="month != null and month==7">
			AND DATE_FORMAT( rgv_table.time,'%Y-%m') = CONCAT(YEAR(NOW()), '-07')
		</if>
		<if test="month != null and month==8">
			AND DATE_FORMAT( rgv_table.time,'%Y-%m') = CONCAT(YEAR(NOW()), '-08')
		</if>
		<if test="month != null and month==9">
			AND DATE_FORMAT( rgv_table.time,'%Y-%m') = CONCAT(YEAR(NOW()), '-09')
		</if>
		<if test="month != null and month==10">
			AND DATE_FORMAT( rgv_table.time,'%Y-%m') = CONCAT(YEAR(NOW()), '-10')
		</if>
		<if test="month != null and month==11">
			AND DATE_FORMAT( rgv_table.time,'%Y-%m') = CONCAT(YEAR(NOW()), '-11')
		</if>
		<if test="month != null and month==12">
			AND DATE_FORMAT( rgv_table.time,'%Y-%m') = CONCAT(YEAR(NOW()), '-12')
		</if>

字段month在我们实体类中用 @Transient注解的字段,这样不会被识别为表里面的字段。

/**
     * 月份
     */
    @Transient
    private Integer month;

然后我们在ServiceImpl里面循环设置month字段为1-12,分别调用查询方法,可以查询出每个月的数据。

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

mybatis查询当年的数据、查询当天的数据、查询当年每个月的数据 的相关文章

随机推荐

  • 【C语言】输入一行字符串,统计其中的单词数

    include
  • 单片机c语言指针作用,单片机C语言教程:C51指针的使用

    指针就是指变量或数据所在的存储区地址 如一个字符型的变量 STR 存放在内存单元DATA 区的 51H 这个地址中 那么 DATA 区的 51H 地址就是变量 STR 的指针 在 C 语言中指针是一个很重要的概念 正确有效的使用指针类型的数
  • 用python实现二分法

    二分法查找 也称为折半法 是一种在有序数组中查找特定元素的搜索算法 二分法查找的思路如下 1 首先 从数组的中间元素开始搜索 如果该元素正好是目标元素 则搜索过程结束 否则执行下一步 2 如果目标元素大于 小于中间元素 则在数组大于 小于中
  • Mojo~

    llama2 mojo比llama2 c快20 最年轻的语言Mojo惊艳开发者社区 你听说过 Mojo 的 传奇色彩 吗 如果说 Python 是最流行的语言 C 语言是最经典的语言 那么 Mojo 也有它的之最 最年轻 Mojo 能够与
  • MySQL磁盘使用率是什么_云数据库Mysql磁盘使用率高排查优化建议

    场景 MySQL实例可能长时间运行 未进行磁盘及数据管理 导致磁盘使用率升高 尤其当实例显示 磁盘空间满 状态 且数据库不可进行写入操作 会导致实例异常 数据库备份失败潜在风险 数据库实例只读状态 从而影响业务正常运行 本文档通过分析及解决
  • 【知识图谱导论-浙大】第三、四章:知识图谱的抽取与构建

    前文 知识图谱导论 浙大 第一章 知识图谱概论 知识图谱导论 浙大 第二章 知识图谱的表示 说明 原视频中的第三章主要介绍了图数据库相关的内容 有兴趣的可以查看相关课件或者对应的视频 知识图谱理论 浙大2022知识图谱课程 第三讲 知识图谱
  • 从注解@EventListener和@TransactionalEventListener掌握Spring的事件机制原理

    文章目录 Spring事件监听机制 Spring事件监听机制概述 Spring事件监听机制介绍 Spring事件相关的几个类 使用硬编码简单还原Spring事件机制 Spring事件机制正确的使用方式 Spring事件创建 Spring事件
  • Opencv学习二之图像基本操作

    1 如下图所示 一张图像是有很多像素点构成的 每个像素点的取值范围在0 255之间 其表示图像的亮度 0表示是黑点 255表示白点 RGB表示图像的颜色通道 通常彩色图都是RGB三颜色通道 2 图像数据的读取 import cv2 open
  • L1-095 分寝室PTA

    学校新建了宿舍楼 共有 n 间寝室 等待分配的学生中 有女生 n0 位 男生 n1 位 所有待分配的学生都必须分到一间寝室 所有的寝室都要分出去 最后不能有寝室留空 现请你写程序完成寝室的自动分配 分配规则如下 男女生不能混住 不允许单人住
  • git删除本地分支、远程分支、创建分支

    git删除本地分支 远程分支 创建分支 git创建本地分支 git checkout b 分支名 git删除本地分支 git branch D 本地分支名 git删除远程分支 git push origin delete 远程分支名 git
  • 用生日攻击方法求解离散对数问题(C语言实现)-大三密码学实验

    实验原理 生日攻击 输入为生成元a的阶p 1和元b 输出为离散对数 设置两个长度为p的列表 1 列表1包含 通过随机选取p个k得到 2 列表2包含 通过随机选取p个l得到 则在两个列表中很有可能出现重复的项 即 因此 那么就是要找的离散对数
  • Map集合的Key比较

    类 Object 是类层次结构的根类 每个类都使用 Object 作为超类 所有对象 包括数组 都实现这个类的方法 在Object类中有两个重要的方法 hashCode 和equals Object obj 在我们使用集合容器的时候我们需要
  • allegro17.4 中规则的导入与导出

    在使用allegro时 经常会遇到多个项目的规则一致 因此进行规则的复用很有必要 1 打开已经设置好规则的PCB文件 执行菜单setup constraints constraint manager 进入菜单管理器 2 然后点击file e
  • Elasticsearch:RestClient+SearchSourceBuilder使用案例

    1 前言 RestClient是较低层的API 这里使用基于其封装的高层API 即RestHighLevelClient 需要添加的依赖如下
  • Altium AD20更改原理图背景颜色

    AD20更改原理图背景颜色 点击右下角 Panels 选择 Properties Sheet Color 即为背景颜色 Sheet Border 为 页面信息栏 及 最外层边框 的颜色 AD默认的淡黄色背景颜色为 FFFCF8 更改回默认可
  • axios 或 fetch 如何实现对发出的请求的终止?

    终止 HTTP 请求是一个重要的功能 特别是在需要优化性能 避免不必要的请求或在某些事件发生时 例如用户点击取消 中断正在进行的请求时 以下是如何使用 axios 和 fetch 实现请求终止的方法 1 axios axios 使用了 Ca
  • 微信小程序基础使用-请求数据并渲染

    小程序基本使用 请求数据并渲染 小程序模板语法 数据绑定 在js中定义数据 Page data isOpen true message hello world 小程序的data是一个对象 不同于vue的data是一个函数 在模块中获取使用数
  • Bash基本命令用法

    man 查看命令帮助信息 echo 在终端输出字符 reboot 重启 poweroff 关机 ps 查看系统中的进程状态 top 动态的监视进程活动与系统负载等信息 pidof 查询某个指定服务进程的pid值 kill 终止某个指定pid
  • 3DsMax次级菜单无法选中---简单方法

    在桌面新建文本文档 将下列代码赋值到文本文档中 Ctrl S保存代码 然后改扩展名为 reg 最后双击导入就完美解决了 Win10系统代码 Windows Registry Editor Version 5 00 HKEY CURRENT
  • mybatis查询当年的数据、查询当天的数据、查询当年每个月的数据

    mybatis查询当年 当天的数据 查询当年每个月的数据 最近遇到公司的需求 查询一个表里面当年的数据和当年每个月的数据 测试数据表如下 很显然我们要对time字段进行操作 查询当天的数据 我们可以在where后面这么写 AND TO DA