如何使用java验证localhost用户名和密码是否正确?

时间:2016-08-29 08:51:09

标签: java mysql jdbc odbc localhost

我一直在寻找localhost(在我的情况下是XAMPP)用户名和密码的验证,即' root'和'' (空值)。假设用户更改了localhost用户名和密码,那么我们如何使用java + SQL QUERY验证它。

    //Database credentials
    public static  Connection conn = null;
    public static  Statement stmt = null;   
    public static  String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
    public static  String DB_URL = "jdbc:mysql://localhost/";

    Class.forName("com.mysql.jdbc.Driver");
    conn = DriverManager.getConnection(DB_URL);
    System.out.println("Driver LOADED");    
    conn = DriverManager.getConnection( DB_URL , LH_USERNAME , LH_PASSWORD);
    stmt = conn.createStatement();

有没有办法在执行上述

之一时获得布尔结果

2 个答案:

答案 0 :(得分:0)

conn = DriverManager.getConnection( DB_URL , LH_USERNAME , LH_PASSWORD);

如果DB_URL,LH_USERNAME,LH_PASSWORD根据您的数据库不正确执行此行,那么您将获得运行时异常可能是SQLException。如果有些更改,请再次验证,然后添加以下代码

  Connection conn = null; 
  try{
  Class.forName("oracle.jdbc.driver.OracleDriver");          
  conn = DriverManager.getConnection(DB_URL , LH_USERNAME,LH_PASSWORD); 
  }catch(Exception e) {    
  e.printStackTrace();  
  }

如果你得到异常(conn == null),这意味着你无法连接数据库。如果您没有正确的DB_URL,LH_USERNAME,LH_PASSWORD,那么当您尝试执行以下行时,您将获得运行时异常

conn = DriverManager.getConnection(DB_URL , LH_USERNAME,LH_PASSWORD);

答案 1 :(得分:0)

你可以包围

conn = DriverManager.getConnection( DB_URL , LH_USERNAME , LH_PASSWORD);

以这种方式尝试使用catch块:

try { conn = DriverManager.getConnection( DB_URL , LH_USERNAME , LH_PASSWORD); } catch(SQLException e){ if(e.getMessage().startsWith("Access denied for user")){ System.out.println("Error: nont valid user or password"); //you can add return false if you want return false; } }