mysql数据库BigInt数据类型和实体对象中BigInteger,Long类型的冲突
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类型的冲突相关推荐
- bar在mysql是什么数据类型,详解BarTender中的数据源类型
BarTender 是一款优秀的条形码打印软件,人们常常会用它来打印自己想要的条形码.如果在软件里一个一个设计条形码再去打印的话,会显得效率比较低.所以这时候就会想到连接数据库,这样就能很快的把数据连 ...
- IDEA中连接MySQL数据库并逆向生成实体类
IDEA中连接MySQL数据库并逆向生成实体类 首先在MySQL中创建数据库表,1个表,多个表都可以 打开IDEA 创建SpringBoot项目并新建MVC三层架构的文件夹,也可以不建,生成实体类可以 ...
- mysql numeric int_关于mysql数据库的数据类型numeric和decimal_MySQL
bitsCN.com 关于mysql数据库的数据类型numeric和decimal decimal(numeric ) 同义,用于精确存储数值 decimal 数据类型最多可存储 38 个数字,所有数 ...
- MySQL数据库的数据类型和索引
数据库的数据库索引对程序员来说是透明的,意味着数据库建立索引之前和之后,你的SQL语句都可以正常运行,索引的运用只是数据库引擎工作时候的优化手段.但是,这不是意味着数据库索引仅仅是数据库设计和运维者的 ...
- 想提高运维效率,那就把MySQL数据库部署到Kubernetes 集群中
摘要:Kubernetes 很多看起来比较"繁琐"的设计的主要目的,都是希望为开发者提供更多的"可扩展性",给使用者带来更多的"稳定性"和& ...
- 七、Mysql数据库的数据类型和表属性
Mysql数据库的数据类型和表属性 七.Mysql数据库的数据类型和表属性 一.SQL介绍 二.常用SQL分类 三.数据类型.表属性.字符集 1.数据类型 2.种类 数值类型 字符类型 时间类型 二进 ...
- html调用mysql数据库表里值,如何从MYSQL数据库正确调用行到HTML表中
我有一个表格,用户填写信息添加到MySQL表中.如何从MYSQL数据库正确调用行到HTML表中 现在,当我尝试显示表我得到 ID Name Phone - - - 一个非常薄的线表头下出现的.我检查了 ...
- mye连接mysql数据库_MySQL_如何在Java程序中访问mysql数据库中的数据并进行简单的操作,在上篇文章给大家介绍了Myeclip - phpStudy...
如何在Java程序中访问mysql数据库中的数据并进行简单的操作 在上篇文章给大家介绍了Myeclipse连接mysql数据库的方法,通过本文给大家介绍如何在Java程序中访问mysql数据库中的数据 ...
- 关于mysql数据库插入数据,不能插入中文和出现中文乱码问题
首先,推荐一篇博客:http://www.cnblogs.com/sunzn/archive/2013/03/14/2960248.html 当时,我安装完mysql数据库后,新建一个数据库后插入数据 ...
最新文章
- TRUNCATE,DELETE,DROP的区别
- browserquest php安装,请问一下browserquest-php项目换成GatewayWorker的形式需要怎么部署worker...
- 常见的C语言字符串操作
- 1 课外笔记之网页动画——jsp系列问题
- MongoDB教程-使用Node.js从头开始CRUD应用
- 现代软件工程 第十一章 【软件设计与实现】 练习与讨论
- H G W S哪一个不是状态函数_HAWE哈威BVH11H/M/S/2-X24换向阀
- mysql做报表分析_mysqlreport解析
- C语言 system
- python中的super用法详解_Python中super的用法实例
- Fragmen的onAttach方法
- TZOJ 1072: 编辑距离(动态规划)
- Docker 从零开始制作基础镜像[centos]
- Unity3D客户端实时同步技术
- nssa和stub_华为stub、nssa区域配置
- 标题中冒号的用法_如果论文题目中出现冒号,冒号前后两部分内容通常是?
- 【精品计划0】蓝桥杯 摔手机
- wait-ify工作原理(学习笔记)
- Heart Rate Variability Analysis with the HRV Toolkit: Basic Time and Frequency Domain Measures
- iMeta|湘雅医院刘庆组-泛癌分析揭示铜死亡调节子的临床和分子特征