Java到MySQL的连接

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:

我使用的是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: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)