Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从MySQL中检测空结果集?_Java_Mysql_Jdbc - Fatal编程技术网

Java 如何从MySQL中检测空结果集?

Java 如何从MySQL中检测空结果集?,java,mysql,jdbc,Java,Mysql,Jdbc,如果没有可能的结果,如何检测从MySQL发送的空结果集。只需检查是否返回true即可。例如 public boolean exist(String username, String password) throws SQLException { Connection connection = null; PreparedStatement statement = null; ResultSet resultSet = null; boolean exist = f

如果没有可能的结果,如何检测从MySQL发送的空结果集。

只需检查是否返回true即可。例如

public boolean exist(String username, String password) throws SQLException {
    Connection connection = null;
    PreparedStatement statement = null;
    ResultSet resultSet = null;
    boolean exist = false;

    try {
        connection = database.getConnection();
        statement = connection.prepareStatement("SELECT id FROM user WHERE username = ? AND password = MD5(?)");
        statement.setString(1, username);
        statement.setString(2, password);
        resultSet = statement.executeQuery();
        exist = resultSet.next();
    } finally {
        close(resultSet, statement, connection);
    }

    return exist;
}
你可以像下面这样使用

if (userDAO.exist(username, password)) {
    // Proceed with login?
} else {
    // Show error?
}
或者,您也可以让它返回fullworhy
User
null
(如果没有)。例如

public User find(String username, String password) throws SQLException {
    Connection connection = null;
    PreparedStatement statement = null;
    ResultSet resultSet = null;
    User user = null;

    try {
        connection = database.getConnection();
        statement = connection.prepareStatement("SELECT id, username, email, dateOfBirth FROM user WHERE username = ? AND password = MD5(?)");
        statement.setString(1, username);
        statement.setString(2, password);
        resultSet = statement.executeQuery();

        if (resultSet.next()) {
            user = new User(
                resultSet.getLong("id"),
                resultSet.getString("username"),
                resultSet.getString("email"),
                resultSet.getDate("dateOfBirth"));
        }
    } finally {
        close(resultSet, statement, connection);
    }

    return user;
}


不客气。我希望您也收到了关于如何正确使用JDBC的提示。
User user = userDAO.find(username, password);

if (user != null) {
    // Proceed with login?
} else {
    // Show error?
}