English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 장에서는 JDBC 애플리케이션을 사용하여 테이블의 기록을 정렬하는 방법에 대한 예제를 제공합니다. 이는 다음을 사용하여asc와desc키워드를 기준으로 기록을 오름차순 또는 내림차순으로 정렬합니다. 다음 예제를 실행하기 전에 다음 조건을 확인하십시오:
다음 예제를 실행하려면사용자 이름와비밀번호실제 사용자 이름과 비밀번호로 대체하세요
MySQL이나 사용 중인 데이터베이스가 이미 시작되고 실행 중입니다
JDBC 애플리케이션을 사용하여 새 데이터베이스를 생성하려면 다음 단계를 수행해야 합니다-
패키지 가져오기:데이터베이스 프로그래밍에 필요한 JDBC 클래스를 포함하는 패키지를 포함하도록 요구합니다. 일반적으로 사용 import java.sql.* 이만 하면 됩니다
JDBC 드라이버 등록: 드라이버를 초기화하도록 요구하며, 이를 통해 데이터베이스와의 통신 채널을 열 수 있습니다
연결:사용해야 합니다 DriverManager.getConnection() Connection 객체를 생성하여 데이터베이스 서버와의 물리적 연결을 나타내는 메서드를 사용해야 합니다.
쿼리 실행:테이블의 레코드를 정렬하기 위해 SQL 문장을 구성하고 제출하기 위해 Statement 유형의 객체를 사용해야 합니다. 이러한 쿼리는 다음과 같은 메서드를 사용합니다asc와desc구문을 사용하여 데이터를 오름차순과 내림차순으로 정렬할 수 있습니다
환경 정리: 모든 데이터베이스 자원을 명시적으로 닫아야 하며 JVM의 가비지 수집에 의존하지 마세요
다음 예제를 JDBCExample.java에 복사하고 붙여넣어, 다음과 같이 컴파일하고 실행하세요-
//步骤1.필요한 소프트웨어 패키지를 가져오세요 import java.sql.*; public class JDBCExample { // JDBC 드라이버 이름과 데이터베이스 URL static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/STUDENTS"; // 데이터베이스 인증 정보 static final String USER = "username"; static final String PASS = "password"; public static void main(String[] args) { Connection conn = null; Statement stmt = null; try{ //步骤2:JDBC 드라이버 등록 Class.forName("com.mysql.jdbc.Driver"); //步骤3:연결 중 System.out.println("Connecting to a selected database..."); conn = DriverManager.getConnection(DB_URL, USER, PASS); System.out.println("Connected database successfully..."); //步骤4:执行查询 System.out.println("Creating statement..."); stmt = conn.createStatement(); // 按名字升序提取记录。 System.out.println("Fetching records in ascending order..."); String sql = "SELECT id, first, last, age FROM Registration" + " ORDER BY first ASC"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ //按列名检索 int id = rs.getInt("id"); int age = rs.getInt("age"); String first = rs.getString("first"); String last = rs.getString("last"); //显示值 System.out.print("ID: " + id); System.out.print(", Age: " + age); System.out.print(", First: " + first); System.out.println(", Last: " + last); } // 按名字降序提取记录。 System.out.println("Fetching records in descending order..."); sql = "SELECT id, first, last, age FROM Registration" + " ORDER BY first DESC"; rs = stmt.executeQuery(sql); while(rs.next()){ //按列名检索 int id = rs.getInt("id"); int age = rs.getInt("age"); String first = rs.getString("first"); String last = rs.getString("last"); //显示值 System.out.print("ID: " + id); System.out.print(", Age: " + age); System.out.print(", First: " + first); System.out.println(", Last: " + last); } rs.close(); catch(SQLException se){ //处理JDBC错误 se.printStackTrace(); }catch(Exception e){ //处理Class.forName的错误 e.printStackTrace(); }finally{ //자원을 닫는 것을 최종적으로 방지 try{ if(stmt!=null) conn.close(); catch(SQLException se){ }// 할 것이 없습니다 try{ if(conn!=null) conn.close(); catch(SQLException se){ se.printStackTrace(); } } System.out.println("안녕히 가세요!"); }//main 종료 }//JDBCExample 종료
이제, 위의 예제를 다음과 같이 컴파일해 보겠습니다:
C:\>javac JDBCExample.java C:\>
실행 중JDBCExample결과는 다음과 같습니다:-
C:\>java JDBCExample 선택된 데이터베이스에 연결 중... 데이터베이스 연결 성공했습니다... 문장 생성 중... 오름차순으로 레코드 가져오는 중... ID: 103, Age: 28, First: Sumit, Last: Mittal ID: 102, Age: 30, First: Zaid, Last: Khan ID: 100, Age: 30, First: Zara, Last: Ali 내림차순으로 레코드 가져오는 중... ID: 100, Age: 30, First: Zara, Last: Ali ID: 102, Age: 30, First: Zaid, Last: Khan ID: 103, Age: 28, First: Sumit, Last: Mittal 안녕히 가세요! C:\>