为什么jav用jdbc连接数据库找不到列。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JdbeTest {
public static void main(String[] args) throws SQLException{
//1.注册驱动

    DriverManager.registerDriver(new com.mysql.jdbc.Driver());
    //2.获取连接
    Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/Mysql", "root", "362324FJF");
    //3.得到代表sql语句的对象
    Statement stat = conn.createStatement();
    //4.执行语句
    ResultSet rs = stat.executeQuery("select * from user");
    while(rs.next()){
        System.out.println(rs.getObject("id"));
        System.out.println(rs.getObject("salary"));
        System.out.println(rs.getObject("age"));
    }
    rs.close();
    stat.close();
    conn.close();

}

}

 我的数据库有创建user表
 select * from user;出来的结果是
 id salary age 
 1    2       3 
 4     8      6


5个回答

把.注册驱动改成 ** Class.forName("com.mysql.jdbc.Driver");** 试试

3306/后面的是你建的数据库的名,注册驱动不要使用你所给的 DriverManager.registerDriver 的方式,因为会出现重复产生连接的状况。
建议使用 Class.forName("类路径")的反射机制。

参考:
http://blog.csdn.net/miner_jasber_yon/article/details/41757113

rs.getString("id")

不建议使用名称来获取列,最好用索引,并且将select * 改成直接查找字段

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问