为什么数据库连接成功了,但获取信息失败了呢??这一般是什么问题呢?求助各位大神啦。
package ed;
import java.sql.*;
public class testConn {
public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver"); /*------加载MYSQL JDBC驱动程序 ---------- */
System.out.println("驱动加载成功!");
} catch (Exception e) {
System.out.print("驱动加载失败!");
e.printStackTrace();
}
try {
Connection connect = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/studentmanager", "caichuyao",
"1008611123");
/*--------------------------这里解释一下getConnection()里面参数的含义:第一个参数是地址 URL,第二个参数是用户名,第三个参数是密码。对于 "jdbc:mysql://localhost:3306/mysql"这个参数, 这里的‘mysql’是server中原有的数据库。如果你在Mysql中创建了其他的数据库,比如说:‘student’ 数据库,那么,如果你要查询student数据库,这里的mysql就换成 student,后面的不变,除非你换了登陆账户------------------------------*/
System.out.println("数据库连接成功!");
Statement stmt = connect.createStatement(); /*
* -----创建statement对象,用于向数据库发送sql语句
* -----
*/
ResultSet rs = stmt.executeQuery("select * from student");/*
* -----查询语句,
* student
* 是我在数据库里建的一张表
* ---------
*/
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.println(id + "/t" + name + "/t" + age);// 这是要显示的属性
}
} catch (Exception e) {
System.out.print("获取信息出错!");
e.printStackTrace();
}
}
}
错误:
驱动加载成功!
数据库连接成功!
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'studentmanager.student' doesn't exist
获取信息出错! at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2677)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2627)
at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1556)
at ed.testConn.main(testConn.java:23)。
--转自