Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

Java로 MySQL 데이터베이스 테이블의 마지막 레코드 가져오는 방법

MySQL에서 마지막 레코드 조회하기

MySQL 데이터베이스에서 데이터를 가져오려면 Java의 executeQuery() 메서드를 사용해야 합니다. 이 글에서는 'sample' 데이터베이스에 테이블을 생성하고, Java 코드를 통해 해당 테이블의 마지막 레코드를 조회하는 방법을 단계별로 살펴보겠습니다.

마지막 레코드를 가져오는 핵심은 ORDER BY DESC 절과 LIMIT 1을 함께 사용하는 것입니다. ID를 내림차순으로 정렬한 후 첫 번째 행만 선택하면, 곧 가장 최근에 삽입된 레코드를 얻을 수 있습니다.

1단계: MySQL 테이블 생성

먼저 MySQL 데이터베이스에 테이블을 생성합니다. 여기서는 'sample' 데이터베이스에 다음과 같은 테이블을 만들어 보겠습니다.

mysql> create table javaGetDataDemo
- > (
- > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
- > FirstName varchar(10),
- > LastName varchar(10)
- > );
Query OK, 0 rows affected (0.80 sec)

2단계: 샘플 데이터 삽입

테이블 생성이 완료되면 INSERT 명령어를 사용해 몇 개의 레코드를 삽입합니다.

mysql> insert into javaGetDataDemo(FirstName,LastName) values('John','Smith');
Query OK, 1 row affected (0.19 sec)
mysql> insert into javaGetDataDemo(FirstName,LastName) values('Carol','Taylor');
Query OK, 1 row affected (0.12 sec)

3단계: 전체 레코드 확인

SELECT 문을 사용하여 테이블에 저장된 모든 레코드를 조회합니다.

mysql> select *from javaGetDataDemo;

실행 결과는 다음과 같습니다.

+----+-----------+----------+
| Id | FirstName | LastName |
+----+-----------+----------+
| 1 | John | Smith |
| 2 | Carol | Taylor |
+----+-----------+----------+
2 rows in set (0.00 sec)

4단계: Java 코드로 마지막 레코드 가져오기

이제 ORDER BY DESC 절을 활용하여 테이블의 마지막 레코드를 가져오는 Java 코드를 살펴보겠습니다.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class GetDataFromMySQLToJava {
   public static void main(String[] args) {
      String JdbcURL = "jdbc:mysql://localhost:3306/sample?useSSL=false";
      String Username = "root";
      String password = "123456";
      Connection con = null;
      Statement stmt = null;
      ResultSet rs = null;
      try {
         System.out.println("Connecting to database..............." + JdbcURL);
         con = DriverManager.getConnection(JdbcURL, Username, password);
         Statement st = con.createStatement();
         String query = ("SELECT * FROM javaGetDataDemo ORDER BY Id DESC LIMIT 1;");
         rs = st.executeQuery(query);
         if (rs.next()) {
            String fname = rs.getString("FirstName");
            String lname = rs.getString("LastName");
            System.out.println("FirstName:" + fname);
            System.out.println("LastName:" + lname);
         }
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

코드 핵심 포인트

  • JDBC URL 설정: jdbc:mysql://localhost:3306/sample?useSSL=false 형식으로 로컬 MySQL 서버의 'sample' 데이터베이스에 연결합니다.
  • 연결 관리: DriverManager.getConnection() 메서드로 데이터베이스 연결 객체를 생성합니다.
  • 핵심 쿼리: SELECT * FROM javaGetDataDemo ORDER BY Id DESC LIMIT 1 — ID 기준 내림차순 정렬 후 첫 번째 행, 즉 마지막 레코드를 반환합니다.
  • 결과 처리: ResultSetnext() 메서드로 결과 행을 읽고, getString()으로 각 컬럼 값을 추출합니다.

Java 코드 실행 화면은 다음과 같습니다.

Java로 MySQL 데이터베이스 테이블의 마지막 레코드 가져오는 방법

다음은 테이블의 마지막 레코드가 출력된 결과 화면입니다.

Java로 MySQL 데이터베이스 테이블의 마지막 레코드 가져오는 방법

마무리

이처럼 Java JDBC와 MySQL을 연동하면 간단한 SQL 쿼리 하나로 테이블의 마지막 레코드를 손쉽게 조회할 수 있습니다. 자동 증가(AUTO_INCREMENT) 기본 키가 있는 테이블이라면 ORDER BY Id DESC LIMIT 1 패턴이 가장 확실하고 효율적인 방법입니다. 실제 프로젝트에서는 데이터베이스 자격 증명을 환경 변수나 설정 파일로 분리하여 관리하는 것이 보안상 안전합니다.