Eclipse Java Project에서 데이터베이스(Database) 사용하기

JDK와 Eclipse 설치, 자바 프로젝트를 만드는 방법은 이 포스트에 설명되어 있습니다.

Database 설치는 이 포스트에선 중요하지 않으므로 생략합니다.

어떠한 방법으로든, 어떤 종류의 DBMS이든 크게 중요하지 않습니다만 이 포스트에선 MariaDB를 사용합니다.

그리고 각 DBMS에서 사용자와 데이터베이스, 테이블을 만드는 방법은 자신이 편한 대로 하시면 됩니다.

이 포스트에선 phpmyadmin을 사용합니다.

목차는 아래와 같습니다.

  1. 데이터베이스 사용자, 데이터베이스, 테이블 만들기
  2. 프로젝트와 데이터베이스를 연결하기 위해 connector JAR 파일 받기
  3. JDBC API를 사용해 데이터베이스 프로그래밍하기

데이터베이스 사용자, 데이터베이스, 테이블 만들기

phpmyadmin의 경우 DBMS 사용자 추가는 위 사진의 사용자 추가를 누릅니다.

사용자의 아이디는 ‘dbuser’, 로컬에서만 접속되도록 했고, 비밀번호는 ‘dbuserpw’로 했습니다.

아이디와 같은 데이터베이스를 만들고 권한을 주기 위해 두 군데에 체크 했습니다.

만들어진 dbuser 데이터베이스가 보입니다.

새 테이블 ‘table1’을 만들었습니다. 아이디, 비밀번호, 이메일을 저장할 테이블이라 컬럼은 3개입니다.

각 컬럼의 이름은 id, password, emali입니다.

저장할 데이터는 가변 문자열로 VARCHAR, 데이터 정렬 방식은 utf8mb4_general_ci입니다.

구조가 보이네요. 보기를 누르면

아직 아무 데이터가 없습니다.

프로젝트와 데이터베이스를 연결하기 위해 connector JAR 파일 받기

MariaDB의 Connector JAR 파일을 얻기 위해 검색합니다.

mysql 등 다른 DBMS를 사용하시는 분은 알맞게 검색해주세요.

다운로드 버튼이 잘 보입니다.

mariadb-java-client-2.2.1.jar 파일을 받았습니다.

저는 보기 좋게 자바 프로젝트 폴더에 lib 폴더를 만들어 넣었습니다. 위치는 상관없습니다.

JDBC API를 사용해 데이터베이스 프로그래밍하기

받은 JAR 파일을 프로젝트가 인식할 수 있도록 Project – Properties -Java Build Path – Libraries에 들어가

Classpath를 누르고 Add JARs 또는 Add External JARs를 눌러 받은 JAR  파일을 선택합니다.

Main이라는 자바 파일을 만들어 다음과 같이 적습니다.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class Main {	
	private static Connection conn;
	private static PreparedStatement pstmt;

	public static void main(String[] args) {
		try {
			conn = DriverManager.getConnection("jdbc:mariadb://localhost:3306/dbuser","dbuser","dbuserpw");
			pstmt = conn.prepareStatement("insert into table1 values(?,?,?)");
			pstmt.setString(1, "길똥이");
			pstmt.setString(2, "1234!");
			pstmt.setString(3, "abcd@gmail.com");
			pstmt.executeUpdate();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
}

DriverManager.getConnection(jdbcURL, DB사용자, 비밀번호)로 DB연결 객체를 얻고

SQL을 수행하도록 PreparedStatement 객체를 만들고, 값을 넣고

INSERT 문이니 executeUpdate()로 실행합니다.

SELECT 문이라면 executeQuery()를 사용합니다.

데이터베이스에 저장되었습니다.

SW Level Up

mail@swlevelup.com

You may also like...

답글 남기기

이메일 주소를 발행하지 않을 것입니다.