mybatisPlus使用LocalDateTime轉(zhuǎn)化異常的實(shí)現(xiàn)
1.問(wèn)題的出現(xiàn)
mybatisPlus版本3.2.0
3.0以上默認(rèn)時(shí)間為L(zhǎng)ocalDateTime ,在使用sql查詢的時(shí)候會(huì)出現(xiàn)
druid版本
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.9</version> </dependency>
@ApiModelProperty(value = "添加時(shí)間") private LocalDateTime createTime; /** * 更新時(shí)間 */ @ApiModelProperty(value = "更新時(shí)間") private LocalDateTime updateTime;
查詢最后報(bào)錯(cuò)
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)換類(lèi),繼承的是mybatis的轉(zhuǎn)換類(lèi)
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的時(shí)間轉(zhuǎn)換為L(zhǎng)ocalDateTime 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的問(wèn)題,于是把源碼拉下來(lái)了,自己打包
<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)問(wèn)題已經(jīng)解決,
于是將版本切換到1.1.20,還真的有,問(wèn)題解決
到此這篇關(guān)于mybatisPlus使用LocalDateTime轉(zhuǎn)化異常的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)mybatisPlus LocalDateTime轉(zhuǎn)化異常內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 淺談MyBatisPlus中LocalDateTime引發(fā)的一些問(wèn)題和解決辦法
- SpringBoot整合Mybatis?LocalDateTime?映射失效的解決
- 解決mybatis-plus使用jdk8的LocalDateTime 查詢時(shí)報(bào)錯(cuò)的方法
- springboot mybatis里localdatetime序列化問(wèn)題的解決
- mybatis如何使用Java8的日期LocalDate和LocalDateTime詳解
- mybatis3.4.0不支持LocalDateTime的解決方法(No typehandler found for property time)
相關(guān)文章
關(guān)于Java中String類(lèi)字符串的解析
這篇文章主要介紹有關(guān)Java中String類(lèi)字符串的解析,在java中,和C語(yǔ)言一樣,也有關(guān)于字符串的定義,并且有他自己特有的功能,下面就進(jìn)入主題一起學(xué)習(xí)下面文章內(nèi)容吧2021-10-10java利用udp實(shí)現(xiàn)發(fā)送數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了java利用udp實(shí)現(xiàn)發(fā)送數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07Spring過(guò)濾器中OncePerRequestFilter應(yīng)用實(shí)現(xiàn)
OncePerRequestFilter是Spring框架提供的一個(gè)過(guò)濾器基類(lèi),本文就來(lái)介紹一下Spring過(guò)濾器中OncePerRequestFilter應(yīng)用實(shí)現(xiàn),感興趣的可以了解一下2024-12-12Maven依賴(lài)中scope的runtime和provied的區(qū)別及說(shuō)明
這篇文章主要介紹了Maven依賴(lài)中scope的runtime和provied的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11Java 中文字符按Unicode排序的實(shí)現(xiàn)方法
這篇文章主要介紹了Java 中文字符按Unicode排序的實(shí)現(xiàn)方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-10-10Lombok不生效,提示java:?找不到符號(hào)的解決方案
這篇文章主要介紹了Lombok不生效,提示java:?找不到符號(hào)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07