2。xmybatisPlus使用LocalDateTime,LocalDate
可能发生的报错信息:
Cause: java.lang.ClassCastException: java.sql.Timestamp cannot be cast to java.time.LocalDate;解决方案:
mybatis-spring-boot-starter 升级至->2.1.1
com.alibaba.druid 升级至->1.2.1
mysql-connector-java 升级至->5.1.46,
升级之前的版本是:
mybatis-spring-boot-starter 1.3.0com.alibaba.druid 1.0.7mysql-connector-java 5.1.30升级之后如果如果还有问题
查询可能会有以下报错:org.springframework.dao.InvalidDataAccessApiUsageException: Error attempting to get column "orderTime" from result set. Cause: java.sql.SQLFeatureNotSupportedException: getObject with type ; SQL []; getObject with type; nested exception is java.sql.SQLFeatureNotSupportedException: getObject with type Caused by: java.sql.SQLFeatureNotSupportedException: getObject with type at io.shardingjdbc.core.jdbc.unsupported.AbstractUnsupportedOperationResultSet.getObject(AbstractUnsupportedOperationResultSet.java:223) at org.apache.ibatis.type.LocalDateTimeTypeHandler.getNullableResult(LocalDateTimeTypeHandler.java:38) at org.apache.ibatis.type.LocalDateTimeTypeHandler.getNullableResult(LocalDateTimeTypeHandler.java:28)
解决方案:
在自己项目下创建mybatis相同包路径org.apache.ibatis.type的LocalDateTimeTypeHandler类.package org.apache.ibatis.type; import java.sql.*; import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneOffset; import java.time.format.DateTimeFormatter; /** * @className: LocalDateTimeTypeHandler * @author: 112609 * @date: 2022-04-08 17:39 * @description: TODO */ public class LocalDateTimeTypeHandler implements TypeHandler { private final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); @Override public void setParameter(PreparedStatement preparedStatement, int i, LocalDateTime localDateTime, JdbcType jdbcType) throws SQLException { if(localDateTime == null) { preparedStatement.setTimestamp(i, null); } else { long epochMilli = localDateTime.toInstant(ZoneOffset.of("+8")).toEpochMilli(); Timestamp date = new Timestamp(epochMilli); preparedStatement.setTimestamp(i, date); } } @Override public LocalDateTime getResult(ResultSet resultSet, String columnName) throws SQLException { Timestamp timestamp = resultSet.getTimestamp(columnName); if(timestamp == null){ return null; }else { final Instant instant = timestamp.toInstant(); return instant.atZone(ZoneOffset.of("+8")).toLocalDateTime(); } } @Override public LocalDateTime getResult(ResultSet resultSet, int columnIndex) throws SQLException { Date date = resultSet.getDate(columnIndex); if (date == null) { return null; } else { final Instant instant = date.toInstant(); return instant.atZone(ZoneOffset.of("+8")).toLocalDateTime(); } } @Override public LocalDateTime getResult(CallableStatement callableStatement, int columnIndex) throws SQLException { Date date = callableStatement.getDate(columnIndex); if (date == null) { return null; } else { final Instant instant = date.toInstant(); return instant.atZone(ZoneOffset.of("+8")).toLocalDateTime(); } } }
如果这篇文章解决了你的问题,请不要白嫖我,来个一键三连哦
陪伴童年的那些掌机和游戏前言80后是红白机陪伴长大的一代,说起游戏机,相信在那个没有手机的年代,寒暑假不是和泥吧就是在打魂斗罗。我生在一个爱玩游戏的家庭,家人都热衷于玩游戏,蹭着家人的游戏机,我的游戏之路
驾校监控视频深圳力必拓科技工业路由器基于工业4G路由器驾校监控视频解决方案1。背景近年来,随着经济的增长,人们的生活水平逐渐提高,开车已变成了每个家庭必备的一项,驾车驾驶培训行业得到了迅猛发展,尤其是中国汽车行业得到
深圳力必拓科技管道压力监测控制系统一。应用概述智能管道压力监测系统是基于物联网通讯技术和传感器技术,结合3G4G移动网络应用而开发的一款集数据采集控制等应用的设备。该设备可实时采集管道实时压力数据,并实时传送云服务
PerlistenD212s首款斩获THXDominus认证的低音炮对于国内的影音爱好者和发烧友而言,Perlisten这个品牌可能听起来有点陌生。它不像某些历史悠久为人熟知的大牌,有着广泛的群众基础。首次在国内亮相也不过是去年的事情。但它的出场又
适合所有品位人士的TannoyPrestigeStirling传统与现代科技的完美结合Tannoy已经有60年历史,作为一个有历史依托的品牌,Prestige一直是Tannoy高级家用系列。在2013年推出PrestigeGoldRefere
科普AppleMusic无损音乐专题(3)前文回顾网易云音乐与QQ音乐(一)网易云音乐和QQ音乐是目前国内两大在线数字音乐流媒体服务商,分别属于网易和腾讯两家公司,两者都是国内最早以互联网为基础的平台公司之一,多年的发展让
JVCDLAN6令人拍手称快的帧适配动态HDR处理性能以往当我们谈起投影机之中最为重要的部分,往往都会放在硬件上面,例如说显示芯片光学镜头以及光源系统等。但是随着投影机内部影像处理芯片性能的不断提升,仅仅是简单的软件形式的固件升级就能
科普AppleMusic无损音乐专题(1)最近由于疫情关系,我受到居住地区的影响被要求居家隔离,不能出门。一时之间,我在生活和工作等多方面都受到限制,感受到诸多的不便,人的心情自然是百般交集。在隔离期间的某一天深夜,我独自
BenQi985L迈进另一个阶段的三色激光强作在2019年底,明基一口气连续推出两款重磅的激光电视i960L与i965L,让我们看到了明基准备全力进击越来越火热的客厅大屏激光电视市场,而这两款激光电视不同寻常的工业设计风格以及
SHUREAONIC50盛夏时光,何以慰藉?盛夏,何以慰藉?沁人的绿荫清新的装扮,以及入耳的音乐!来看小红书博主NanaXeges的盛夏时光!SUMMER即便骄阳如火满屏绿色,即刻沁人心脾清新的装扮用AONIC50点缀,风格
威酷V60功能强大,内置功放的点歌一体机专为家庭KTV研发全新升级的三合一点歌一体机威酷V60内置功放,且配置了话筒和高清电容屏。其将麦克风接收器前级效果器功放机点歌机融入到一台机器之中,不仅安装便捷,功能还十分强大。作