问题描述:
使用JDBC查询报如下错误:
问题解析:
追溯到代码21行:
21行是单纯的利用println语句输出结果的部分,所以只能是resultSet.getInt()等获取数据的部分出了问题。
不能转化为内部表示,考虑是数据类型转换部分有问题。
回头看表结构:
结合表的列数据类型与最后输出使用的数据类型进行比较,发现username在表中是varchar2类型,而resultSet使用getInt()进行获取。
解决方案:
将geiInt()方法修改为getString(),继续查看后面代码的数据类型对应情况并修改,问题得到解决。
题外话:
这个问题其实说起来有点弱智,单纯的没有进行思考就强行使用getInt()方法获取数据。此次出现此问题主要还是因为笔者自以为是地认为getInt()是获取的resultSet下标,将该方法与别的方法混淆了。还是应该多写多练啊。
2018.8.28