게시글 만들기 DB 활용 #1

Yullc·2025년 3월 30일
post-thumbnail

JDBC??

JDBC는 Java 애플리케이션에서 데이터베이스에 접근하기 위해 JDBC API를 사용하여 데이터베이스에 연동할 수 있으며, 데이터베이스에서 자료를 쿼리(Query)하거나 업데이트하는 방법을 제공하여 데이터를 Java에서 사용할 수 있는 자바 API

이제 우리가 JDBC를 이용해 DB와 연동해서 게시글을 만들어 볼 건데 알아둬야 할 중요한 사항들이 있어서 정리좀 하고 시작할게 벌써부터 어려운게 느껴진다..

JDBC 흐름도!!

JDBC 개발발단계

  • JDBC driver loading
    사용하고자 하는 JDBC 드라이버를 Driver Manager 클래스에서 로딩

  • Connection
    DB의 계정과 URL을 가져옴

  • Statement/PreparedStratement
    SQL문을 정의, 연결되는 값을 쿼리 전송 전에 값을 Setting

  • executeUpdate() or executeQuery()
    executeUpdate()함수는 SQL문의 insert, delete, update의 경우에 사용 반환 타입은 int
    executeQuery()함수는 SQL문이 select 일때 사용, 반환타입은 ResultSet

  • ResultSet
    select의 경우 결과 값을 가져옴

  • Close
    Connection, Statement, ResultSet에 대해 close 해줌

이제 만들어 볼건데 일단 간단하게 write랑 list 부분만 만들어서 sql문으로 insert하고 select를 해볼거야. 그러면 Article 변수 생성하고 getter, setter 하는 클래스와 명령어를 입받고 write, list 메서드들이 있어야겠지? 이 부분은 전 벨로그를 참고하자!!

JDBC connection Test

public class JDBCConnTest {
    public static void main(String[] args) {
        Connection conn = null;

        try {
            Class.forName("org.mariadb.jdbc.Driver");
            String url = "jdbc:mariadb://127.0.0.1:3306/AM_DB_25_03?useUnicode=true&characterEncoding=utf8&autoReconnect=true&serverTimezone=Asia/Seoul";
            conn = DriverManager.getConnection(url, "root", "1234");
            System.out.println("연결 성공!");

        } catch (ClassNotFoundException e) {
            System.out.println("드라이버 로딩 실패" + e);
        } catch (SQLException e) {
            System.out.println("에러 : " + e);
        } finally {
            try {
                if (conn != null && !conn.isClosed()) {
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

    }
}
  • 준비가 완료 됐으면 본격적으로 연결 해야하는데 어떤식으로 하는지 잘 모르겠지?? 네.. 아무리 구글링을 해봐도 혼자 힘으로는 좀 어려웠어요..
  • 먼저 형식은 try-catch문으로 감싸줄거야. 그리고 위에 있는 내용들을 좀 쓸건데, 필요한건 계정과 url이야.
  • 그래서 conn 변수에 url,id,password를 담아주고 DriverManager를 이용해 연결을 해주는거야.
  • 그리고 예외처리도 꼼꼼히 해주고
profile
아자아자자

0개의 댓글