数据库时间为空时查询出现 UncategorizedSQLException: Error attempting to get column ‘update_time‘ from result set
Posted Acmen-zym
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库时间为空时查询出现 UncategorizedSQLException: Error attempting to get column ‘update_time‘ from result set相关的知识,希望对你有一定的参考价值。
异常详情
org.springframework.jdbc.UncategorizedSQLException: Error attempting to get column 'update_time' from result set. Cause: java.sql.SQLException: Error
; uncategorized SQLException; SQL state [null]; error code [0]; Error; nested exception is java.sql.SQLException: Error
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441)
at com.sun.proxy.$Proxy158.selectList(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224)
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:121)
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:85)
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)
at com.sun.proxy.$Proxy355.selectPage(Unknown Source)
at com.hongmeng.service.auto_rule.impl.AutomaticRuleTemplateServiceImpl.findByPage(AutomaticRuleTemplateServiceImpl.java:192)
解决方案
重写时间日期类型的处理器,当值为null时直接返回,不执行处理方法
@Component
public class MybatisPlusLocalDateTimeTypeHandler extends LocalDateTimeTypeHandler
@Override
public LocalDateTime getResult(ResultSet rs, String columnName) throws SQLException
Object object = rs.getObject(columnName);
if (object == null)
return null;
return super.getResult(rs, columnName);
@Component
public class MybatisPlusLocalDateTypeHandler extends LocalDateTypeHandler
@Override
public LocalDate getResult(ResultSet rs, String columnName) throws SQLException
Object object = rs.getObject(columnName);
if (object == null)
return null;
return super.getResult(rs, columnName);
@Component
public class MybatisPlusLocalTimeTypeHandler extends LocalTimeTypeHandler
@Override
public LocalTime getResult(ResultSet rs, String columnName) throws SQLException
Object object = rs.getObject(columnName);
if (object == null)
return null;
return super.getResult(rs, columnName);
以上是关于数据库时间为空时查询出现 UncategorizedSQLException: Error attempting to get column ‘update_time‘ from result set的主要内容,如果未能解决你的问题,请参考以下文章
当条件全部为空时,查询全部,当其中一个或两个条件为空时,为空的条件不查询,sql怎么写
解决用 VB 中用 ADO 访问 数据库时 SQL 查询处理 Null 值的问题( 使用 iff(isNull(字段), 为空时的值,不为空时的值) 来处理)