只需检查是否
ResultSet#next()返回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?}
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;}
与
User user = userDAO.find(username, password);if (user != null) { // Proceed with login?} else { // Show error?}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)