引言

在将数据存入mysql数据库时抛出异常:Parameter metadata not available for the given statement。参数元数据对于给定的声明不可用。

SQL本身并没有错误:

    @Autowiredprivate JdbcTemplate jdbc;public Integer saveScenicSequence(ScenicSequence scenic) {String sql = "INSERT IGNORE INTO scenic_sequence(seco_scenic_id, scenic_name, scenic_num, scenic_location, createtime) VALUES(?,?,?,?,?)";Object[] args = { scenic.getSecoScenicId(), scenic.getScenicName(), scenic.getScenicNum(),scenic.getScenicLocation(), System.currentTimeMillis() };return jdbc.update(sql, args);}

调查发现,是因为传入的对象中个别字段由于不能确定其值因此赋了null,这才会导致存库错误。定位代码:

解决方法

一招制敌:

#generateSimpleParameterMetadata=true生成简单的参数元数据
spring.datasource.url=jdbc:mysql://123.57.226.216/secoid?generateSimpleParameterMetadata=true

错误原因

MetaData,中文译名“元数据”,定义数据的数据,指的是数据库中 库、 表、 列 的定义信息。

抛出的异常针对的是ParameterMetaData(参数元数据)。参数元数据主要用于获取sql语句中占位符的相关信息。

参数元数据是通过PreparedStatement.getParameterMetaData()方法获取。

ParameterMetaData paramMetaData = st.getParameterMetaData();

而mysql驱动默认generateSimpleParameterMetadata=false,在传入null参数的时候,生成不了有效的元数据,因此才会报错。

综上,是关于此异常的简单解释。如有疑问请文末留言。

异常解析————Parameter metadata not available for the given statement相关推荐

  1. 深入JVM——OOM异常解析

    转载自  深入JVM--OOM异常解析 JVM对象访问解析 对象访问过程的内存情况 public void function(){Object obj = new Object(); } ? func ...

  2. IDEA异常解决: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

    IDEA异常解决: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 参考文章: (1)I ...

  3. 事务传播机制/数据库异常解析——2016-8-13分享总结

    一. 事务的传播机制/required 跟 required new 的使用与区别 基础回顾 1.1 事务的隔离级别: ISOLATION_READ_UNCOMMITTED(读未提交) ISOLATI ...

  4. 爬虫实战学习笔记_3 网络请求urllib模块:设置IP代理+处理请求异常+解析URL+解码+编码+组合URL+URL连接

    1 设置IP代理 1.1 方法论述 使用urllib模块设置代理IP是比较简单的,首先需要创建ProxyHandler对象,其参数为字典类型的代理IP,键名为协议类型(如HTTP或者HTTPS),值为 ...

  5. 异常:Parameter 0 of constructor in com.ylz.supervise.childmodule.sys.log.strategy.StrategyContext req记

    一.抛出异常 Parameter 0 of constructor in com.ylz.supervise.childmodule.sys.log.strategy.StrategyContext ...

  6. InvocationTargetException异常解析

    InvocationTargetException异常由Method.invoke(obj, args...)方法抛出.当被调用的方法的内部抛出了异常而没有被捕获时,将由此异常接收. 示例: [jav ...

  7. OutOfMemoryException异常解析

    一.概述 在国庆休假快结束的最后一天晚上接到了部门老大的电话,某省的服务会出现崩溃问题.需要赶紧修复,没错这次的主角依旧是上次的"远古项目"没有办法同事都在休假没有人能帮忙开电脑远 ...

  8. java的异常解析_java异常解析 - liop的个人空间 - OSCHINA - 中文开源技术交流社区...

    抛出异常,捕捉异常,输出异常. /** * 自定义异常类 */ public class CustomerException extends RuntimeException { private St ...

  9. NoSuchMethodError异常解析

    NoSuchMethodError是一个运行时错误,在编译时一般不会出现这个错误. 既然能成功编译,就说明方法本身是存在的,方法所在的类也是存在的,而且都可以正常的引用到. 那么为什么还会出现这个错误 ...

最新文章

  1. python直接执行*.sql_Python Django 之 直接执行自定义SQL语句(一)
  2. MindMotion MM32F3277 SoftI2C功能测试
  3. php 计算前几天,php计算几分钟前、几小时前、几天前的几个函数、类分享
  4. MySQL 8.0 error 2059: Authentication plugin 'caching_sha2_password' cannot be loaded
  5. Ninject学习笔记三
  6. 万条留言!这本Python凭啥火爆程序员的朋友圈?
  7. JSP-meta标签之详解
  8. 彻底讲明白浅拷贝与深拷贝
  9. HDU10月月赛总结
  10. 三面网易,四面阿里,五年开发经验程序员剑指大厂,java语言程序设计与数据结构进阶篇答案
  11. 【软件工程】-项目开发计划
  12. 【支付】第三方支付收单机构
  13. 【codeforces 760B】Frodo and pillows
  14. BZOJ 2429: [HAOI2006]聪明的猴子|最小生成树kruskal
  15. 数据中心的“风火水电”
  16. C# 使用DataMatrix.net.dll进行二维码打印
  17. 利用Deskpool 搭建 桌面云教室
  18. Glide,AndroidX包兼容问题
  19. linux 格式化工具 mkfs 简介
  20. python实现批量改名

热门文章

  1. c#中.clear()作用_清单 .Clear()方法以及C#中的示例
  2. 对称密码和非对称密码体系_密码学类型:对称和不对称
  3. ai推理_人工智能推理能力问答
  4. Unsigned 陷阱
  5. 微信开发之——Ubuntu Apache2的https域名配置
  6. 计算机学校的奖项,2017年度国家科学技术奖各奖项公示
  7. 利用循环神经网络生成唐诗_PyTorch实现用于文本生成的循环神经网络
  8. Linux防火墙屏蔽ip6,观点|Linux 发行版们应该禁用 IPv4 映射的 IPv6 地址吗?
  9. 大学计算机课程考试系统C语言题库,《大学计算机基础》考试题库(含答案).doc...
  10. linux更新命令centos,CentOS 7.0命令更新新版特性