2011-01-18 4 views

답변

5

Java 측에서 검색하지 마십시오. 그것은 불필요하게 느리고 메모리를 소모합니다. 기본적으로 DB가 설계된 작업을 대신 수행합니다. DB가 SQL 언어 능력의 도움을 받아 원하는 데이터를 정확히 선택하여 반환하도록 설계되었습니다.

SQL WHERE clause 학습을 시작하십시오. 예를 들어, 사용자 이름/암호 MATHES 있는지 확인 할 :

connection = database.getConnection(); 
preparedStatement = connection.prepareStatement("SELECT * FROM user WHERE username=? AND password=md5(?)"); 
preparedStatement.setString(1, username); 
preparedStatement.setString(2, password); 
resultSet = preparedStatement.executeQuery(); 

if (resultSet.next()) { 
    // Match found! 
} else { 
    // No match! 
} 
+1

덕분에, 이것은 좋은 생각처럼 소리 자바는 검색 방법이없는 이유를 지 웁니다. – anon

+2

실제로. 원하는 데이터 만 필터링하기 위해 전체 DB 테이블을 Java 메모리에 저장/복제 할 이유는 없습니다. – BalusC

2

SQL ResultSet을 의미한다고 가정 할 때 대답은 '아니오'라고 쓰면됩니다. JDBC 드라이버는 대개 한 번에 모든 행을 검색하지 않습니다 (쿼리가 1 백만 행을 반환 한 경우). 행을 읽고 직접 필터링해야합니다.

관련 문제