记录一个问题:
数据库oracle,数据库操作使用mybaties,进行分页模糊查询时(模糊查询时使用的to_char(columName,‘yyyy-MM-dd’) 函数),entity和数据库字段startDate都是Date类型,进行查询时,startDate参数类型使用String,使用Date类型时,mybaties抛出“文字与格式不匹配”
to_date(‘param’,‘yyyy-MM-dd hh24:mi:ss’)同样的,使用mybaties时,传入参数得时String类型
很简单,SQL条件中接收参数就是String啊,数据库类型转换什么引起的吧
条件部分SQL代码:
TO_CHAR(t.START_DATE,'yyyy-MM-dd') like CONCAT(CONCAT('%','${startDate}'),'%')
mybaties的dao:
getPageList(@Param("startDate") String startDate)
本文探讨了在Oracle数据库中使用MyBatis进行分页模糊查询时遇到的问题。当使用TO_CHAR函数转换日期字段并结合字符串参数进行匹配时,由于类型转换不当导致了'文字与格式不匹配'的错误。解决方案是确保传入参数与SQL中的格式对应,并正确处理日期类型的转换。问题集中在SQL条件构造和MyBatis的参数映射上。
1万+

被折叠的 条评论
为什么被折叠?



