您现在的位置是:首页 > 正文

No value specified 报错

2024-04-01 03:22:56阅读 1

今天遇到了  No value specified 这个问题:
在控制台报了这样的错误:
org.apache.commons.beanutils.ConversionException: No value specified
 at org.apache.commons.beanutils.converters.BigDecimalConverter.convert(BigDecimalConverter.java:148)
 at org.apache.commons.beanutils.BeanUtils.copyProperty(BeanUtils.java:362)
。。。。。。。。。。。。。。。。。。。。。。
报错的意思:用到了时间等非内置对象时,如果对象为NULL则,会出现此异常。最简单的方法就是保证非内置对象不为NULL。
就是我的数据库的表  member有一个字段  consumePeriod(type  BigDecimal).
如果我的member表中 有的记录中这字段的值为NULL时,我在实现Service层的接口实现类的时候,调用BeanUtils.copyProperties(dto,entity);这个方法
会报上面的错误。
出错的原因是:
Java code
    public BigDecimalConverter() {

        this.defaultValue = null;
        this.useDefault = false;

    }

  public Object convert(Class type, Object value) {

        if (value == null) { //这一句由于数据库中的consumePeriod的 BigDecimal值为空 
            if (useDefault) { //这一句 并且this.useDefault =false
                return (defaultValue);
            } else {
                throw new ConversionException("No value specified"); //所以控制台报了这样一句报错
            }
        }

        if (value instanceof BigDecimal) {
            return (value);
        }

        try {
            return (new BigDecimal(value.toString()));
        } catch (Exception e) {
            if (useDefault) {
                return (defaultValue);
            } else {
                throw new ConversionException(e);
            }
        }

    }

对于BigDecimal 数据库为空值的报错的情况下处理措施:
对bBean这个对象中的BigDecimal类型属性先进行赋值,然后进行属性拷贝,就可以避免你的错误。

 

 

网站文章

  • 服务器安装nginx

    服务器安装nginx

    第二篇文章,安装nginx和ssl证书

    2024-04-01 03:22:50
  • 音视频之——FFmpeg教程(二)——Windows10下搭建nginx-rtmp流媒体服务器

    音视频之——FFmpeg教程(二)——Windows10下搭建nginx-rtmp流媒体服务器

    前言前一篇我们知道了如何配置FFmpeg开发环境,接下来,就开始简单的推流吧。说道推流前,我们要知道常用的几个直播推流协议。直播推流协议在搭建服务之前先了解下目前主流的几个直播协议:RTMP:实时消息传输协议,Real Time Messaging Protocol,是 Adobe Systems 公司为 Flash 播放器和服务器之间音频、视频和数据传输开发的开放协议。协议基于 ...

    2024-04-01 03:22:07
  • 引用数据类型_Java基础数据类型和引用类型的区别

    引用数据类型_Java基础数据类型和引用类型的区别

    一、数据类型Java中的数据类型分为两大类,基本数据类型和引用数据类型。1、基本数据类型基本数据类型只有8种,可按照如下分类 ①整数类型:long、int、short、byte ②浮点类型:float、double ③字符类型:char ④布尔类型:booleanNo.数据类型大小/位可表示数据范围默认值1byte(字节型)8-128~12702short(短整型)16-32768~32...

    2024-04-01 03:21:59
  • MySQL查询优化

    MySQL查询优化

    表数据皆为随机生成,身份证号、手机号、姓名、微信号等若有相同,纯属巧合。生成的数据仅用于测试说明问题,不必理会合理性。2.1.1、【用户表】t_user数据量:150w。

    2024-04-01 03:21:52
  • MySQL JDBC编程

    MySQL JDBC编程

    简单介绍了JDBC编程及对功能进行了封装。

    2024-04-01 03:21:11
  • 系统架构与高可用

    系统架构与高可用

    前言 简单聊聊博主的背景吧,博主是Java开发,刚毕业就来到这个刚创立的公司(当然是有一点背景的),公司开发人数从80来人到现在的430人,期间系统进行多次调整。 而我除了写代码业务实现外,刚好有机会接触了一些类似架构、运维、以及新系统初期设计讨论的工作,这大大满足了我的好奇心,这是幸运的。 我大部分的知识是从工作中学习到的,开始知识点是零散,喜欢做笔记,一旦遇到我们没有听过的技术名词或者业...

    2024-04-01 03:21:04
  • SpringCloud负载均衡原理

    SpringCloud负载均衡原理org.springframework.cloud.loadbalancer.core.RoundRobinLoadBalancer private Respo...

    2024-04-01 03:20:15
  • 安装Anaconda的注意事项

    安装Anaconda的注意事项

    Anaconda是Python的集成安装包,把Python中常用的库都集成了,对于初学者来说还是很友好的,不过在安装过程中也有一些陷阱,下面把我自己安装中碰到的问题记录一下: 对系统的要求 WIN10...

    2024-04-01 03:20:08
  • 如何训练一个词向量

    如何训练一个词向量

    现在在NLP领域,词向量是一切自然语言处理的基础,有了词向量我们就可以进行数据分析,文本聚类分类的一系列操作了。接下来我们就开始学习如何训练词向量,之前我们有介绍关于 word2vec 的博文 wor...

    2024-04-01 03:20:01
  • Google浏览器(Chrome)快捷键大全

    Chrome窗口和标签页快捷键:Ctrl+N 打开新窗口 Ctrl+T 打开新标签页 Ctrl+Shift+N 在隐身模式下打开新窗口 Ctrl+O,然后选择文件 在谷歌浏览器中打开计算机上的文件 按住 Ctrl 键,然后点击链接 从后台在新标签页中打开链接,但您仍停留在当前标签页中 按住 Ctrl+Shift 键,然后点击链接 在新标签页中打开链接,同时切换到新打开的标签

    2024-04-01 03:19:54