使用过spring boot的人都知道spring boot约定优于配置的理念给我们开发中集成相关技术框架提供了很多的便利,集成mongo也是相当的简单,但是通过约定的配置信息来集成mongo有些问题。
当你的字段包含timestamp这种类型时,读取数据的时候会抛一个类型转换的异常,如
no converter found capable of converting from type [java.util.date] to type [java.sql.timestamp]
是因为,mongo本身时间类型为date,在做结果映射的时候date并不能强转成timestamp,这是其中的一个点,当然还瞎扑有很多类似的数据转换问题可以通过这个举一反三的来解决。
所以,我们需要自定义的转换器,而spring boot约定的mongoproperties并没有配置转换器一项,我们不能简单的通过application阿尔山国家森林公园.properties来达到我们的配置。
下面我们通过java bean的方式补充配置我们的带自定义转换器的mongotemplate,来解决问题
ps:默认的mongo类型映射会把我们的class全路径名添加到我们的mongdb的_class字段,如下图所示,主要是为了查询结果子类型的映射。
如果我们广东华夏职业学院并不需要,可以通过构造defaultmongotypemapper传空的方式去掉
网上大多数的讲spring boot集成mongo的博文都类似官方的simple example,其他的都是spring通过xml的方式集成mongo的,有谈到转换器的问题,但是把xml的方式转换到spring boot的java bean config的方式需要我们对spring-data-mongo的api有深入的了解,当然,你可以说spring boot可以直接加载xml的配置,但是,既然用了spring boot法考分数线,就推荐使用@configuration这种方式解决问题哈,所以,分享一个博主的经验,遇到类似的问题而搜遍网络无果时,推荐一种解决的方式,官方文档+源码阅读,不仅能解决问题还能发现更多你不增了解的东西
官方文档:https://docs.spring.io/spring-data/data-mongo/docs/2.0.0.m1/reference/html/
以上就是spring boot整合mongo查询converter异常排查记录的详细内容,更多关于spring boot mongo查一公斤等于多少两询converter异常的资料请关注www.887551.com其它相关文章!
本文发布于:2023-04-06 01:18:20,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/d673bc40e78e7f9ec848fdb77912f320.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:spring boot整合mongo查询converter异常排查记录.doc
本文 PDF 下载地址:spring boot整合mongo查询converter异常排查记录.pdf
留言与评论(共有 0 条评论) |