본문 바로가기
IT/DB - 데이터베이스

JDBC API

by 삐약 개발자 2024. 12. 17.
반응형

JDBC란?

JDBC API는 Java 어플리케이션에서 데이터베이스와 연결하여 자원을 사용할수 있도록 해주는 표준 API 임

JDBC 연결 과정

  1. JDBC 드라이버를 로드해서 데이터베이스와 연결할 준비함
    • JDBC 드라이버 -> 어떤 DB 를 쓸지에 따라 설치하면 됨
  2. 데이터베이스와 연결을 시작함. 커넥션 객체 할당 받음
  3. 쿼리문을 실행하기 위해서 Query 수행 객체를 색성
  4. Statement를 통해 Query가 수행됨
  5. Select와 같이 조회문일 경우 결과를 받는 ResultSet 객체에 결과를 할당받음
  6. 사용한 자원을 정리후 ResultSet 닫고 Statement닫고 Connection 해제함

인텔리제이 -- DB 연결가능

  1. https://dev.mysql.com/downloads/
    Connector/J 다운

  2. Project Structure >> Modules >> Dependencies >> + 클릭 후 JARs or Directories..

     >> 다운로드 받았던 파일 해당 파일에 압축 해제한거 클릭후 APPLY >> OK
     ![[Pasted image 20241216181644.png]]
  3. dfdf


String jdbc_url = "jdbc:mysql://localhost:3306/database?serverTimezone=UTC";
Connection com = DriverManager.getConnection(jdbc_url, "root", "비밀번호");

Statement stmt = con.createStatement();

stmt.close();
con.close();
  1. database 자리에 실제 데이터 베이스 연결 (비어있는 데이터 베이스 연결??)
    jdbctest2 DBeaver 에 생성 >> database 자리에 jdbctest2 넣고 실행

String jdbc_url = "jdbc:mysql://localhost:3306/jdbctest2?serverTimezone=UTC";  
Connection con = DriverManager.getConnection(jdbc_url, "root", "비밀번호");  

Statement stmt = con.createStatement();   

stmt.close();  
con.close();    

-> 실행했을때 오류 안뜨면 데이터 베이스와 connection 완료

  1. 테이블 생성 (아래 코드 추가) >> DBeaver 확인시 생성 된거 확인 가능

String sql = "CREATE TABLE users ( " +  
        "user_id INT PRIMARY KEY AUTO_INCREMENT, " +  
        "username VARCHAR(255) NOT NULL " +  
        ");";  
stmt.execute(sql);
  1. 테이블에 데이터 추가 >> DBeaver 확인시 데이터 추가 된거 확인 가능

con.createStatement().execute("INSERT INTO users (username) VALUES " +  
        "('huhu')," +  
        "('sungmin');");
  1. 테이블 데이터 수정

con.createStatement().execute("UPDATE users SET username = 'huhuhu' where user_id = 1;");  
con.createStatement().execute("UPDATE users SET username = 'minmin' where user_id = 2;");
  1. 테이블 데이터 삭제

con.createStatement().execute("DELETE FROM Users WHERE username = 'huhuhu';");

실습하기

  • 스키마 설계대로 db 만들기
  • 데이터 더미 만들기
  • 문제 풀기
    문제

1.


String sql = "SELECT username, password FROM users;";  

ResultSet rs = stmt.executeQuery(sql);  
while(rs.next()){  
    String name = rs.getString("username");  
    String password = rs.getString("password");  
    System.out.println("name = " + name + " password = " + password);  
};  

stmt.close();  
con.close();

2.

작성중.......

반응형

'IT > DB - 데이터베이스' 카테고리의 다른 글

SQL 최적화 원리  (1) 2024.12.18
SQL - TCL  (1) 2024.12.09
SQL - DML  (1) 2024.12.09
SQL - DDL  (0) 2024.12.09
SQL - 관계형 데이터베이스 개요  (0) 2024.12.09