-
기본적인 테크닉이지만 그만큼 필수적인 개념이기 때문에 정리할 겸 JDBC에 대해 다루어 보도록 하겠다.
목차
1. JDBC 의미
2. JDBC 구현 순서
3. 자바와 데이터베이스 연동하는 코드
1. JDBC 의미
JDBC가 무엇인가?
쉽게 말해서 Java 프로그램에서 DB에 접속할 수 있도록 만든 API(application programming interface) 규격이라고
생각하면 된다.
좀 더 자세히 말하자면, Java 프로그램 내에서 데이터베이스 질의 문(SQL)을 실행하기 위한 자바 API이다.
2. JDBC 구현 순서
구현 순서는 5단계로 나뉜다.
JDBC 드라이버 로드 -> JDBC를 통해 DB와 연결 -> Statement 생성 (SQL) -> 결과 패치 -> 자원 해제
1. JDBC 드라이버 로드
Class.forName(JDBC Driver 클래스 이름);
2. JDBC를 통해 DB와 연결
Connection conn = DriverManager.getConnection(JDBC_URL,“아이디”,”비밀번호”);
➊ ➋ ➌
DB에 연결을 위해 DriverManager 클래스의 getConnection() 메서드를 사용한다.
➊ JDBC_URL : 해당 데이터베이스에 맞게 미리 정의되어 있는 문자열이다.
➋ 아이디와 ➌ 비밀번호 : 시스템에 로그인하는 계정이 아니라 데이터베이스 자체에서 관리하는 계정이다.
JDBC URL 구조
jdbc:mysql:// IP주소 :PORT(옵션)/스키마
➊ ➋ ➌
➊ IP 주소 : MySQL 데이터베이스가 설치된 컴퓨터의 IP 주소 또는 도메인 이름 (localhost)
➋ 스키마 : 데이터베이스에서 생성한 스키마(데이터베이스) 이름
➌ 포트 : 기본 설정 값인 3306 포트를 사용하는 경우에는 생략 가능
3. Statement 생성 (SQL)
SQL 실행을 위한 메서드 제공
• executeQuery(String sql)
* SELECT문을 수행할 때 사용
*반환 값은 ResultSet 클래스의 인스턴스로, 해당 SELECT문의 결과에 해당하는 데이터에 접근 방법 제공
• executeUpdate(String sql)
* INSERT, UPDATE, DELETE, CREATE, DROP 수행할 때 사용
*반환 값은 int 값으로, 처리된 데이터의 수를 반환 (CREATE, DROP은 -1 반환)
4. 결과 패치 : REsultSet
Resultset rs = st.executeQuery(sql);
*동작 이해를 위한 추가 이미지*
5. 자원 해제
rs.close()
st.close();
con.close();
3. 자바와 데이터베이스 연동하는 코드
*admin이라는 데이터를 조회해보는 프로그램*
목표 : 특정한 데이터베이스에 접속해서 데이터를 조회한 값을 처리해서 값을 내보내는 동작 구현
우선 저는 DBMS(DataBase Management System)을 MySQL 을 사용하기 때문에
아래에 있는 connector를 사용해 연동할 것입니다. 버전이 오래되긴 했는데 간단한 실습이면 문제 될 것 같진 않습니다.
이 jar 파일을
프로젝트 안에 폴더를 만들어 폴더 속으로 넣어줍니다.
그리고 프로젝트를 우 클릭을 하게 되면 Propertise이 보이는데 클릭해 줍니다.
그러면 이런 창이 나오게 되는데 Java Build Path 클릭 후 -> Libraries 클릭 -> Add JArs... 클릭
library 폴더에 넣어준 connector를 클릭해 ok를 누르고 적용시켜주고 창을 닫습니다.
그리고 접속할 수 있는 Tutorial 데이터베이스를 만들어주고 admin 테이블을 생성 -> Column을
adminID 와 adminPassword 생성한 후 ->둘 다 admin을 삽입해 줍니다.
이제 코드를 보겠습니다.
이렇게 출력됩니다.
댓글