最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java?Long類型轉(zhuǎn)為json后數(shù)據(jù)損失精度的處理方式

 更新時(shí)間:2022年01月13日 16:45:51   作者:FinelyYang  
這篇文章主要介紹了java?Long類型轉(zhuǎn)為json后數(shù)據(jù)損失精度的處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

最近在項(xiàng)目開發(fā)中,使用spring boot+mybatis的架構(gòu),數(shù)據(jù)庫(kù)設(shè)計(jì)主鍵id時(shí)定義為bigint類型,使用mybatis的自動(dòng)生成代碼后沒注意,主鍵在pojo里的類型為L(zhǎng)ong。查詢時(shí)獲取的對(duì)象列表取出的數(shù)值沒有問題,但轉(zhuǎn)為json傳到前端后,id的數(shù)據(jù)始終不是數(shù)據(jù)庫(kù)查出來(lái)的那個(gè)。

數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì)

AbumTip類

根據(jù)外鍵abum_id在數(shù)據(jù)庫(kù)中查詢的結(jié)果

Controller查到的結(jié)果

chrome瀏覽器preview結(jié)果

可以看到abumId(對(duì)應(yīng)表abum_id)和tipId(對(duì)應(yīng)表中tip_id)查詢到的Long類型的數(shù)據(jù)都不對(duì)。

解決的方法

方法一

重新生成pojo對(duì)象,將所有數(shù)據(jù)庫(kù)類型為bigint都映射成String類型。

方法二

對(duì)于使用springboot,則增加配置代碼:

package com.gj.app.config; 
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; 
import java.util.List;
 
@EnableWebMvc
@Configuration
public class WebDataConvertConfig extends WebMvcConfigurerAdapter {
        public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
            MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
            ObjectMapper objectMapper = new ObjectMapper();
            /**
             * 序列換成json時(shí),將所有的long變成string
             * 因?yàn)閖s中得數(shù)字類型不能包含所有的java long值
             */
            SimpleModule simpleModule = new SimpleModule();
            simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
            simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
            objectMapper.registerModule(simpleModule);
            jackson2HttpMessageConverter.setObjectMapper(objectMapper);
            converters.add(jackson2HttpMessageConverter);
        }
}

方法三

在spring MVC中

增加類:

其中LongToStringJsonConverter為自定義轉(zhuǎn)換器

public class LongToStringJsonConverter extends ObjectMapper {
    /**
     * 
     */
    private static final long serialVersionUID = 1683531771040674386L;
 
    @Override
    public ObjectMapper registerModule(Module module) {
        SimpleModule simpleModule = new SimpleModule();
        simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
        simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
        return super.registerModule(simpleModule);
    }
}
  <mvc:annotation-driven  conversion-service="conversionService">
        <mvc:message-converters>  
           <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">  
               <property name="objectMapper">  
                    <!-- <bean class="com.fasterxml.jackson.databind.ObjectMapper">   -->
                    <bean class="mypackage.LongToStringAdapter">
                        <property name="dateFormat">  
                            <bean class="java.text.SimpleDateFormat">  
                                <constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss" />  
                            </bean>  
                        </property>  
                    </bean>   
               </property>
           </bean>
        </mvc:message-converters>  
    </mvc:annotation-driven>

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Mybatis使用@param注解四種情況解析

    Mybatis使用@param注解四種情況解析

    這篇文章主要介紹了Mybatis使用@param注解四種情況解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Java與C++實(shí)現(xiàn)相同的MD5加密算法簡(jiǎn)單實(shí)例

    Java與C++實(shí)現(xiàn)相同的MD5加密算法簡(jiǎn)單實(shí)例

    下面小編就為大家?guī)?lái)一篇Java與C++實(shí)現(xiàn)相同的MD5加密算法簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-09-09
  • jar包打包成exe安裝包的實(shí)現(xiàn)

    jar包打包成exe安裝包的實(shí)現(xiàn)

    本文主要介紹了jar包打包成exe安裝包的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • SpringBoot3集成Zookeeper的代碼詳解

    SpringBoot3集成Zookeeper的代碼詳解

    ZooKeeper是一個(gè)集中的服務(wù),用于維護(hù)配置信息、命名、提供分布式同步、提供組服務(wù),分布式應(yīng)用程序以某種形式使用所有這些類型的服務(wù),本文將給大家介紹SpringBoot3集成Zookeeper的代碼,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • Java 如何解析key為動(dòng)態(tài)的json操作

    Java 如何解析key為動(dòng)態(tài)的json操作

    這篇文章主要介紹了Java 如何解析key為動(dòng)態(tài)的json操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • 關(guān)于logback日志級(jí)別動(dòng)態(tài)切換的四種方式

    關(guān)于logback日志級(jí)別動(dòng)態(tài)切換的四種方式

    這篇文章主要介紹了關(guān)于logback日志級(jí)別動(dòng)態(tài)切換的四種方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 關(guān)于Java實(shí)現(xiàn)HttpServer模擬前端接口調(diào)用

    關(guān)于Java實(shí)現(xiàn)HttpServer模擬前端接口調(diào)用

    這篇文章主要介紹了關(guān)于Java實(shí)現(xiàn)Http?Server模擬前端接口調(diào)用,Http?協(xié)議是建立在?TCP?協(xié)議之上的協(xié)議,所以能用?TCP?來(lái)自己模擬一個(gè)簡(jiǎn)單的?Http?Server?當(dāng)然是可以的,需要的朋友可以參考下
    2023-04-04
  • Java中 log4j日志級(jí)別配置詳解

    Java中 log4j日志級(jí)別配置詳解

    這篇文章主要介紹了Java中 log4j日志級(jí)別配置詳解,需要的朋友可以參考下
    2018-01-01
  • Java消息隊(duì)列中的Kafka如何保證冪等性

    Java消息隊(duì)列中的Kafka如何保證冪等性

    這篇文章主要介紹了Java消息隊(duì)列中的Kafka如何保證冪等性,Kafka是一種消息隊(duì)列,主要用來(lái)處理大量數(shù)據(jù)狀態(tài)下的消息隊(duì)列,一般用來(lái)做日志的處理,既然是消息隊(duì)列,那么Kafka也就擁有消息隊(duì)列的相應(yīng)的特性了,需要的朋友可以參考下
    2023-07-07
  • Java?超詳細(xì)講解對(duì)象的構(gòu)造及初始化

    Java?超詳細(xì)講解對(duì)象的構(gòu)造及初始化

    面向?qū)ο竽耸荍ava語(yǔ)言的核心,是程序設(shè)計(jì)的思想。Java語(yǔ)言的面向?qū)ο蠹夹g(shù)包括了面向?qū)ο蠛兔嫦蜻^(guò)程的基本概念,面向?qū)ο蟮奶卣鳎琂ava語(yǔ)言的類,對(duì)象,修飾符,抽象類等一系列的知識(shí)點(diǎn)
    2022-03-03

最新評(píng)論

靖边县| 洞头县| 孝昌县| 二手房| 清远市| 厦门市| 贡觉县| 梁平县| 安远县| 廉江市| 南和县| 丘北县| 搜索| 汉沽区| 景德镇市| 如东县| 孟州市| 沾化县| 义乌市| 阿坝| 鄂托克前旗| 始兴县| 乐山市| 金山区| 鄱阳县| 石河子市| 浮梁县| 科尔| 沾化县| 蒙山县| 兴仁县| 时尚| 阳高县| 桃江县| 华阴市| 苏州市| 广昌县| 利津县| 达孜县| 三穗县| 绥德县|