mysql数据库BigInt数据类型和实体对象中BigInteger,Long类型的冲突

实体Bean

public class Broke {/*** brokeid */BigInteger brokeid;/*** 节点id 与 节点id为多对一的关系*/String nodeid;/*** brokeip*/String brokeip;/*** 删除标记   0--notdelete   1--delete  (0 is default)*/int deleteflag = 0;
}

brokeid为BigInteger类型, 在mysql数据库中brokeid同样也为BigInteger类型,看起来如果在数据库中查找相关Broke实体应该没有什么问题,然而在查找出resultSet结果进行反射时,却抛出了argument type mismatch的错误信息。。下面看反射代码。。

public static <T> List<T> getObjectsList(ResultSet rs, Class<T> k)throws SQLException {List<T> bl = new ArrayList<T>();if (rs != null) {while (rs.next()) {T o = null;try {o = k.newInstance();for (Method m : k.getDeclaredMethods()) {String name = m.getName();if (name.startsWith("set")) {
//                          System.out.println(rs.getObject(name.substring(3)).getClass().getName());m.invoke(o, rs.getObject(name.substring(3)));}}bl.add(o);} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} catch (IllegalArgumentException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}}return bl;}return null;}

当程序运行时,将反射执行到Brokeid时,就会在红色程序部分抛出argument type mismatch的异常信息,打印出程序中注释掉的那句输出语句时,便可以判断出,此时,从resultSet对象中取出的object对象为Long类型。之后,将Broke实体中brokeid的数据类型改为Long即可。

在测试之后,发现改为Long类型之后,并不影响Broke对象的插入和其他一些相关操作。  而原先的BigInteger数据类型在添加实体的时候是可以的,但是在rs.getObject时,就会发生类型不匹配的错误。。

mysql数据库BigInt数据类型和实体对象中BigInteger,Long类型的冲突相关推荐

  1. bar在mysql是什么数据类型,详解BarTender中的数据源类型

    BarTender 是一款优秀的条形码打印软件,人们常常会用它来打印自己想要的条形码.如果在软件里一个一个设计条形码再去打印的话,会显得效率比较低.所以这时候就会想到连接数据库,这样就能很快的把数据连 ...

  2. IDEA中连接MySQL数据库并逆向生成实体类

    IDEA中连接MySQL数据库并逆向生成实体类 首先在MySQL中创建数据库表,1个表,多个表都可以 打开IDEA 创建SpringBoot项目并新建MVC三层架构的文件夹,也可以不建,生成实体类可以 ...

  3. mysql numeric int_关于mysql数据库的数据类型numeric和decimal_MySQL

    bitsCN.com 关于mysql数据库的数据类型numeric和decimal decimal(numeric ) 同义,用于精确存储数值 decimal 数据类型最多可存储 38 个数字,所有数 ...

  4. MySQL数据库的数据类型和索引

    数据库的数据库索引对程序员来说是透明的,意味着数据库建立索引之前和之后,你的SQL语句都可以正常运行,索引的运用只是数据库引擎工作时候的优化手段.但是,这不是意味着数据库索引仅仅是数据库设计和运维者的 ...

  5. 想提高运维效率,那就把MySQL数据库部署到Kubernetes 集群中

    摘要:Kubernetes 很多看起来比较"繁琐"的设计的主要目的,都是希望为开发者提供更多的"可扩展性",给使用者带来更多的"稳定性"和& ...

  6. 七、Mysql数据库的数据类型和表属性

    Mysql数据库的数据类型和表属性 七.Mysql数据库的数据类型和表属性 一.SQL介绍 二.常用SQL分类 三.数据类型.表属性.字符集 1.数据类型 2.种类 数值类型 字符类型 时间类型 二进 ...

  7. html调用mysql数据库表里值,如何从MYSQL数据库正确调用行到HTML表中

    我有一个表格,用户填写信息添加到MySQL表中.如何从MYSQL数据库正确调用行到HTML表中 现在,当我尝试显示表我得到 ID Name Phone - - - 一个非常薄的线表头下出现的.我检查了 ...

  8. mye连接mysql数据库_MySQL_如何在Java程序中访问mysql数据库中的数据并进行简单的操作,在上篇文章给大家介绍了Myeclip - phpStudy...

    如何在Java程序中访问mysql数据库中的数据并进行简单的操作 在上篇文章给大家介绍了Myeclipse连接mysql数据库的方法,通过本文给大家介绍如何在Java程序中访问mysql数据库中的数据 ...

  9. 关于mysql数据库插入数据,不能插入中文和出现中文乱码问题

    首先,推荐一篇博客:http://www.cnblogs.com/sunzn/archive/2013/03/14/2960248.html 当时,我安装完mysql数据库后,新建一个数据库后插入数据 ...

最新文章

  1. TRUNCATE,DELETE,DROP的区别
  2. browserquest php安装,请问一下browserquest-php项目换成GatewayWorker的形式需要怎么部署worker...
  3. 常见的C语言字符串操作
  4. 1 课外笔记之网页动画——jsp系列问题
  5. MongoDB教程-使用Node.js从头开始CRUD应用
  6. 现代软件工程 第十一章 【软件设计与实现】 练习与讨论
  7. H G W S哪一个不是状态函数_HAWE哈威BVH11H/M/S/2-X24换向阀
  8. mysql做报表分析_mysqlreport解析
  9. C语言 system
  10. python中的super用法详解_Python中super的用法实例
  11. Fragmen的onAttach方法
  12. TZOJ 1072: 编辑距离(动态规划)
  13. Docker 从零开始制作基础镜像[centos]
  14. Unity3D客户端实时同步技术
  15. nssa和stub_华为stub、nssa区域配置
  16. 标题中冒号的用法_如果论文题目中出现冒号,冒号前后两部分内容通常是?
  17. 【精品计划0】蓝桥杯 摔手机
  18. wait-ify工作原理(学习笔记)
  19. Heart Rate Variability Analysis with the HRV Toolkit: Basic Time and Frequency Domain Measures
  20. iMeta|湘雅医院刘庆组-泛癌分析揭示铜死亡调节子的临床和分子特征

热门文章

  1. 【转】认识 C++ 中的 explicit 关键字
  2. Vs 2008 解决方案的目录结构设置和管理
  3. Netty如何解决粘包拆包?(二)
  4. C#核编之格式化编程
  5. web app 自适应方案总结 弹性布局之rem
  6. 修改SR4000自带软件,支持opencv
  7. AJAX 大数据量处理
  8. RDMA相关的技术网站
  9. Nginx设置上传文件大小限制
  10. MYSQL第一章 创建表 修改表名 删除字段 添加字段 修改地段名