首页 > 其他分享 >mybatis中日期时间比较遇到得问题

mybatis中日期时间比较遇到得问题

时间:2023-11-09 22:36:16浏览次数:37  
标签:code name 遇到 no seat 日期 time mybatis org

今天进行下面得查询得时候,

总是报:Cause: java.lang.IllegalArgumentException: invalid comparison: java.time.LocalDate and java.lang.String,提示不能将LocalDate类型与String类型进行比较,

刚开始一直在检查<if>下得条件,寻思是不是类型写的不对,

后来才发现是<if>标签中得判断问题,

具体原因是因为

startDate!='' 这种判断条件,在mybatis种,不能将日期时间类型与''字符串进行比较,所以导致上述报错,

解决办法,把判断条件中得''字符串判断删除即可。

错误代码:

<select id="selectSeatOrderNumMonth"

resultType="com.pjk.RemoteSeatOrderMonthStatEntity">

select

org_no inst_no,

org_name inst_name,

seat_code,

seat_name,

count(*) order_number

from

order_wide_table

<where>

<if test="startDate!=null &amp;&amp; startDate!='' &amp;&amp; endDate!=null" &amp;&amp; endDate!=''>

create_time &gt;= #{startDate}

and

create_time &lt;= #{endDate}

</if>

</where>

group by

org_no,

org_name,

seat_code,

seat_name;

</select>

正确代码:

<select id="selectSeatOrderNumMonth"

resultType="com.pjk.RemoteSeatOrderMonthStatEntity">

select

org_no inst_no,

org_name inst_name,

seat_code,

seat_name,

count(*) order_number

from

order_wide_table

<where>

<if test="startDate!=null &amp;&amp; endDate!=null" >

create_time &gt;= #{startDate}

and

create_time &lt;= #{endDate}

</if>

</where>

group by

org_no,

org_name,

seat_code,

seat_name;

</select>

标签:code,name,遇到,no,seat,日期,time,mybatis,org
From: https://blog.51cto.com/u_16205743/8285695

相关文章

  • mybatis
    5.解决属性名和字段名不一致的问题解决方法:起别名ResultMap6.日志6.1日志工厂如果一个数据库出现了异常,我们经常需要排错,日志是最好的助手。曾经:sout,debug现在:日志需要掌握的:LOG4JSTDOUT_LOGGING至于具体使用哪一个,在MyBatis中设置。 需要在核心配置文......
  • mybatis使用id集合查询数据
    dao层intdelUser(@Param("menuId")IntegermenuId,@Param("idList")List<String>idList);xml层<deleteid="delUser">deleteFROMuser_role_menuWHEREmenu_id=#{menuId}ANDuser_idNOTIN<f......
  • 如何获取一周的开始日期时间?
    内容来自DOChttps://q.houxu6.top/?s=如何获取一周的开始日期时间?在C#中,只知道当前时间,如何找到一周的开始(包括星期日和星期一)?类似于:DateTime.Now.StartWeek(Monday);使用扩展方法:publicstaticclassDateTimeExtensions{publicstaticDateTimeStartOfWeek......
  • 不能选择今天之后日期以及选择日期最多跨度三个月(el-date-picker)
     pickerOptions:{onPick:({maxDate,minDate})=>{this.pickDate=minDate.getTime()if(maxDate){this.pickDate=''}},disabledDate:time=>{constchoic......
  • Thonny+MicroPython+ESP32开发环境配置以及遇到烧录固件出现error解决方法
    本文主要介绍如何使用python和esp32来做嵌入式研发相关的开发环境搭建以及在搭建时遇到的一些问题一、ESP32板子与电脑通讯1.首先将ESP32的板子通过USB线连接到电脑,下载驱动并且安装https://pan.baidu.com/s/1eTHYnom  2.打开电脑的设备管理器,win10可以直接从搜索中查......
  • IDEA 集成 EasyCode 插件,快速生成自定义 mybatisplus 代码
    IDEA集成easyCode插件在idea插件市场中,搜索EasyCode插件,下载并进行安装EasyCode插件介绍1.修改作者名称EasyCode插件可以修改作者名称,即生成代码后,注释中自动添加相应作者的姓名。2.TypeMapperTypeMapper指的是生成mapper.xml文件中数据库中的字段和java......
  • Python中使用sqlalchemy操作数据库遇到密码包含@的处理方法
    欺骗性的oracle12514错误,这就有问题了,努力方向就不对了。。。密码包含@的处理方法使用sqlalchemy操作数据库的时候,遇到密码中包含@的时候会报错。因为它是通过@来链接IP地址的,遇到密码里有@就跟语法里的@混乱分不清了。编辑器就会报错。比如下面这个例子:用户名:XXXXX密码:1......
  • sql 根据身份证号获取出生日期并转成对应格式
     sqlserver 查询判断身份证号是18位的selectSUBSTRING(SUBSTRING(IDCard,7,8),1,4)+'-'+SUBSTRING(SUBSTRING(IDCard,7,8),5,2)+'-'+SUBSTRING(SUBSTRING(IDCard,7,8),7,2)from表whereBirthdayisnullandLEN(IDCard)=18 修改update表setBirth......
  • No MyBatis mapper was found in ‘[SpringBoot启动类所在路径]‘ package 原因解析及
    NoMyBatismapperwasfoundin‘[SpringBoot启动类所在路径]‘package原因解析及解决方案NoMyBatismapperwasfoundin'[XXX]'package友情提示:搜到这篇文章的,一般是急于解决这个问题的,看下常见原因排除后,可以忽略分析过程直接看解决方案,我自己出现这个问题的原因主......
  • python获取当前日期的前一天
     fromdatetimeimportdatetime,timedelta#获取当前日期today=datetime.today()#获取前一天的日期yesterday=today-timedelta(days=1)#格式化日期为所需的字符串格式date_str=yesterday.strftime("%Y-%m-%d")print("前一天的日期是:",date_str) ......