mysql 问题收集一

问题点:mysql中的varchar 类型但是Java中的ResultSet的方法getString()无法获取该列的值,而getLong可以获取:

实际错误场景

eclipse的编译和运行的jdk版本是jdk5.0

mysql 数据库(5.5.27)中有表test,test中的第3列是varchar类型,存储的是1,第4列也是varchar类型 存储的是"测试"。

在java工程中创建mysql的jdbc连接 cn,

然后执行如下代码

Statement stat =cn.createStatement();

ResultSet rs = stat.executeQuery("select * from test")

while (rs.next())

{

System.out.println("第三列:"+rs.getString(3));

System.out.println("第四列:"+rs.getString(4));

}

输出的结果是:

第三列:

第四列:测试

解决办法

很明显这不是我想要的结果,我想得到第三列中的值1,而输出结果是空字符,怎么才能获取第三列的值呢,经过查证有两个方法,

第一:rs.getLong(3) 可以获得值1,但是获得的是long型的。

第二:修改JDK版本,使用jdk6.0以上版本就可以正常使用了。

哈哈,到此结束!

你可能感兴趣的:(mysql 问题收集一)