我一直在寻找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();
有没有办法在执行上述
之一时获得布尔结果答案 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;
}
}