mybatisPlus使用LocalDateTime轉(zhuǎn)化異常的實(shí)現(xiàn)
1.問題的出現(xiàn)
mybatisPlus版本3.2.0
3.0以上默認(rèn)時間為LocalDateTime ,在使用sql查詢的時候會出現(xiàn)
druid版本
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.9</version>
</dependency> @ApiModelProperty(value = "添加時間")
private LocalDateTime createTime;
/**
* 更新時間
*/
@ApiModelProperty(value = "更新時間")
private LocalDateTime updateTime;
查詢最后報(bào)錯
org.springframework.dao.InvalidDataAccessApiUsageException: Error attempting to get column 'create_time' from result set. Cause: java.sql.SQLFeatureNotSupportedException; null; nested exception is java.sql.SQLFeatureNotSupportedException
2.解決
解決方式一:
在映射的result里面或者resultMap里面配置
@Result(column="create_time", property="createTime",javaType =
LocalDateTime.class,jdbcType = JdbcType.DATE),
@Result(column="update_time", property="updateTime",javaType =
LocalDateTime.class,jdbcType = JdbcType.DATE),
失敗
解決辦法二:
@Result(column="create_time", property="createTime",javaType = LocalDateTime.class, jdbcType = JdbcType.DATE,typeHandler = MyLocalDateTimeTypeHandler.class), @Result(column="update_time", property="updateTime",javaType = LocalDateTime.class, jdbcType = JdbcType.DATE,typeHandler = MyLocalDateTimeTypeHandler.class),
這里的MyLocalDateTimeTypeHandler是自己的轉(zhuǎn)換類,繼承的是mybatis的轉(zhuǎn)換類
public class MyLocalDateTimeTypeHandler extends LocalDateTimeTypeHandler {
@Override
public LocalDateTime getResult(ResultSet rs, String columnName) throws SQLException {
Object object = rs.getObject(columnName);
System.out.println(object);
if(object instanceof java.sql.Timestamp){//在這里強(qiáng)行轉(zhuǎn)換,將sql的時間轉(zhuǎn)換為LocalDateTime
return LocalDateTime//可以根據(jù)自己的需要進(jìn)行轉(zhuǎn)化
.ofInstant(((Timestamp)object).toInstant(), ZoneOffset.ofHours(0));
}
return super.getResult(rs, columnName);
}
}
解決辦法可行
解決辦法3:
在網(wǎng)上搜索的半天,發(fā)現(xiàn)是druid的問題,于是把源碼拉下來了,自己打包
<dependency>//自己打包的版本
<groupId>com.git</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.20</version>
</dependency>
<dependency>
<groupId>com.git</groupId>
<artifactId>druid</artifactId>
<version>1.1.20</version>
</dependency>剛準(zhǔn)備改進(jìn)一下,進(jìn)行rq發(fā)現(xiàn)問題已經(jīng)解決,
于是將版本切換到1.1.20,還真的有,問題解決
到此這篇關(guān)于mybatisPlus使用LocalDateTime轉(zhuǎn)化異常的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)mybatisPlus LocalDateTime轉(zhuǎn)化異常內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java利用udp實(shí)現(xiàn)發(fā)送數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了java利用udp實(shí)現(xiàn)發(fā)送數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-07-07
Spring過濾器中OncePerRequestFilter應(yīng)用實(shí)現(xiàn)
OncePerRequestFilter是Spring框架提供的一個過濾器基類,本文就來介紹一下Spring過濾器中OncePerRequestFilter應(yīng)用實(shí)現(xiàn),感興趣的可以了解一下2024-12-12
Maven依賴中scope的runtime和provied的區(qū)別及說明
這篇文章主要介紹了Maven依賴中scope的runtime和provied的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11
Java 中文字符按Unicode排序的實(shí)現(xiàn)方法
這篇文章主要介紹了Java 中文字符按Unicode排序的實(shí)現(xiàn)方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-10-10

