zoukankan      html  css  js  c++  java
  • spring data jpa 自定义转换器converter

    自定转换器:

    
    package com.comon.utils;
    
    
    import java.io.IOException;
    import java.io.Serializable;
    
    import javax.persistence.AttributeConverter;
    
    import com.fasterxml.jackson.databind.ObjectMapper;
    
    import lombok.extern.slf4j.Slf4j;
    
    
    @Slf4j
    public class JpaConverterJsonUtils implements AttributeConverter<Object,String>,Serializable {
    
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
        
        public String convertToDatabaseColumn(Object attribute) {
            try {
                return OBJECT_MAPPER.writeValueAsString(attribute);
            } catch (Exception e) {
                log.error("convert data error,the exception is {}",e);
                return null;
            }
            
        }
    
        public Object convertToEntityAttribute(String dbData) {
            try {
                if(dbData!=null){
                    return OBJECT_MAPPER.readValue(dbData, Object.class);
                }
            } catch (IOException e) {
                log.error("convert data error,the exception is {}",e);
                return null;
            }
            return dbData;
        }
    
    }

    使用: 在自定名字上添加  eg: XXXX.DO   

        @Convert(converter=JpaConverterJsonUtils.class)
        private List<JSONObject> milestones; //在db中为json 类型
  • 相关阅读:
    Redis设置生存时间或过期时间的相关命令
    .Net Core使用Redis
    Redis的数据类型
    Java集合 使用Collections
    Java集合 使用Iterator
    Java集合 使用Stack
    响应式常用样式汇总
    图片 文字 背景等响应式设置总结
    微信动态聊天工具
    第2章 栅格系统
  • 原文地址:https://www.cnblogs.com/lshan/p/11791203.html
Copyright © 2011-2022 走看看