下载了mysql,在Eclipse里想用代码连接这个数据库。
用MySQLWorkbench创建了一个表lktable
public static void main(String[] args) {
// TODO Auto-generated method stub
String driverName = "com.mysql.jdbc.Driver";
String url = "jdbc:Mysql://localhost:3306/lktable";
String user = "root";
String password = "";
try {
Class.forName(driverName);
Connection connection = DriverManager.getConnection(url, user, password);
connection.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}}并且设置了 Classpath
D:\程序开发\MySql\mysql-connector-java-5.1.12\mysql-connector-java-5.1.12-bin.jar;.
请问为什么还是报一大堆错误!com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'lktable'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.Util.getInstance(Util.java:384)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3562)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3494)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:920)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4000)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1285)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2186)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:787)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:49)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:357)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at MytestReadDB.main(MytestReadDB.java:24)
用MySQLWorkbench创建了一个表lktable
public static void main(String[] args) {
// TODO Auto-generated method stub
String driverName = "com.mysql.jdbc.Driver";
String url = "jdbc:Mysql://localhost:3306/lktable";
String user = "root";
String password = "";
try {
Class.forName(driverName);
Connection connection = DriverManager.getConnection(url, user, password);
connection.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}}并且设置了 Classpath
D:\程序开发\MySql\mysql-connector-java-5.1.12\mysql-connector-java-5.1.12-bin.jar;.
请问为什么还是报一大堆错误!com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'lktable'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.Util.getInstance(Util.java:384)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3562)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3494)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:920)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4000)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1285)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2186)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:787)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:49)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:357)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at MytestReadDB.main(MytestReadDB.java:24)
你的本地并没有这个数据库。
你要先create database lktable才行。
String url = "jdbc:Mysql://localhost:3306/lktable";
这里应该是你的数据库名而不是表名。
String url = "jdbc:Mysql://localhost:3306/数据库名";
而不是表名。
如果楼主没有新建数据库的话,那这个表应该是建在test 数据库下了
所以应该改为:String url = "jdbc:Mysql://localhost:3306/test";
运行时先编译 ! 这很重要 !
我的 MySQL 的驱动程序是 “org.gjt.mm.mysql.Driver" ;