Java到MySQL的连接
我使用的是EC2Linux实例,我似乎无法获取此java代码来查询数据库,我在下面的代码底部显示了错误。它表明它找不到驱动程序,因为知道我手动安装了mysql-connector-java-5.1.12.jar,因为我安装java时它不在那里。我不知道如何检查jar是否安装正确Java到MySQL的连接,java,mysql,Java,Mysql,我使用的是EC2Linux实例,我似乎无法获取此java代码来查询数据库,我在下面的代码底部显示了错误。它表明它找不到驱动程序,因为知道我手动安装了mysql-connector-java-5.1.12.jar,因为我安装java时它不在那里。我不知道如何检查jar是否安装正确 import java.sql.*; public class Java2MySql{ public static void main(String[] args) { String url = "jdbc:
import java.sql.*;
public class Java2MySql{
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/";
String dbName = "myBlog";
String driver = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "NoWay!";
Connection conn = null;
try {
Class.forName(driver);
}catch (ClassNotFoundException e) {
System.out.println("Where is your MySQL JDBC Driver?");
}
System.out.println("MySQL JDBC Driver Registered!");
try{
conn = DriverManager.getConnection(url+dbName,userName,password);
//query users
Java2MySql j = new Java2MySql();
j.getUsers(conn);
} catch (SQLException e) {
System.out.println("Connection Failed! Check output console");
e.printStackTrace();
} finally {
try {
conn.close();
} catch (Throwable ignore){}
}
}
private void getUsers(Connection conn){
Statement stmt = null;
ResultSet rs = null;
try{
stmt = conn.createStatement() ;
String query = "select * from users ;" ;
s = stmt.executeQuery(query) ;
while ( rs.next() ) {
int numColumns = rs.getMetaData().getColumnCount();
for ( int i = 1 ; i <= numColumns ; i++ ) {
System.out.println( "COLUMN " + i + " = " + rs.getObject(i) );
}
}
}catch(SQLException ex){
// handle any errors
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
}finally {
try {
rs.close();
} catch (SQLException sqlEx) {}
try{
stmt.close();
} catch(SQLException sqlEx){}
}
}
}
有问题的JAR需要位于类路径中。在调用Java或设置classpath环境变量时,您可能希望在尝试运行的Java应用程序之前使用-classpath参数显式设置其位置。首先,为什么不在url本身中指定数据库。 其次,删除双引号内查询末尾的分号。 第三件事是制造 rs=stmt.executeQueryquery;
最后在类路径中安装mysql-connector.jar。手动安装jar是什么意思?它是类路径的一部分吗?检查驱动程序是否在类路径中。我尝试了javac-cp/home/ec2 user/development Java2MySql.java,jar文件位于此处指定的位置,但仍在获取错误。尽管s=stmt.executeQueryquery,但不相关;不应为rs=stmt.executeQueryquery;还添加了e.printStackTrace;在每个挡块上。
$java Java2MySql
Where is your MySQL JDBC Driver?
MySQL JDBC Driver Registered!
Connection Failed! Check output console
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/myBlog
at java.sql.DriverManager.getConnection(DriverManager.java:596)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at Java2MySql.main(Java2MySql.java:22)