반응형
JDBC란?
JDBC API는 Java 어플리케이션에서 데이터베이스와 연결하여 자원을 사용할수 있도록 해주는 표준 API 임
JDBC 연결 과정
- JDBC 드라이버를 로드해서 데이터베이스와 연결할 준비함
- JDBC 드라이버 -> 어떤 DB 를 쓸지에 따라 설치하면 됨
- 데이터베이스와 연결을 시작함. 커넥션 객체 할당 받음
- 쿼리문을 실행하기 위해서 Query 수행 객체를 색성
- Statement를 통해 Query가 수행됨
- Select와 같이 조회문일 경우 결과를 받는 ResultSet 객체에 결과를 할당받음
- 사용한 자원을 정리후 ResultSet 닫고 Statement닫고 Connection 해제함
인텔리제이 -- DB 연결가능
https://dev.mysql.com/downloads/
Connector/J 다운Project Structure >> Modules >> Dependencies >> + 클릭 후 JARs or Directories..
>> 다운로드 받았던 파일 해당 파일에 압축 해제한거 클릭후 APPLY >> OK ![[Pasted image 20241216181644.png]]
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();
- 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 완료
- 테이블 생성 (아래 코드 추가) >> DBeaver 확인시 생성 된거 확인 가능
String sql = "CREATE TABLE users ( " +
"user_id INT PRIMARY KEY AUTO_INCREMENT, " +
"username VARCHAR(255) NOT NULL " +
");";
stmt.execute(sql);
- 테이블에 데이터 추가 >> DBeaver 확인시 데이터 추가 된거 확인 가능
con.createStatement().execute("INSERT INTO users (username) VALUES " +
"('huhu')," +
"('sungmin');");
- 테이블 데이터 수정
con.createStatement().execute("UPDATE users SET username = 'huhuhu' where user_id = 1;");
con.createStatement().execute("UPDATE users SET username = 'minmin' where user_id = 2;");
- 테이블 데이터 삭제
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 최적화 원리 (0) | 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 |