[JDBC] JAVA에서 데이터베이스 연결해보기

JDBC 애플리케이션 생성

  1. 패키지 가져오기: 데이터베이스 프로그래밍에 필요한 JDBC 클래스를 포함하는 패키지를 포함해야 합니다. 대부분의 경우 'import java.sql.*'을 사용하면 충분합니다.
  2. 연결 열기: Drivermanager.getConnection() 메서드를 사용하여 데이터베이스와 물리적 연결을 나타내는 Connection 객체를 만듭니다.
  3. 쿼리 실행: SQL 문을 빌드하고 데이터베이스에 제출하기 위해 statement 유형의 객체를 사용합니다.
  4. 결과 집합에서 데이터 추출: ResultSet.getxxx() 메서드를 사용합니다.
  5. 닫기: JVM의 가비지 컬렉션에 의존하는 대신 모든 데이터베이스 리소스를 명시적으로 닫습니다.

mariadb jdbc dirver

mariadb와 연결하기 위해서 현재 java 버전과 호환이 되는 mariadb-java-client를 다운받습니다.

Select 예제

연결 URL, 사용자 이름, 비밀번호 및 쿼리를 포함하는 4개의 정적 문자열을 사용합니다. DriverManager.getConnection() 메서드를 사용하여 데이터베이스 연결을 준비합니다. 연결이 준비되면 connection.createStatement() 메서드를 사용하여 Statement 객체를 생성하고 statement.executeQuery()를 사용하여 쿼리를 실행하고 결과를 결과 집합에 젖아합니다.

public class Main {

	public static void main(String[] args) {
		final String DB_URL = "jdbc:mariadb://{ip}:{port}/{database}";
		final String DB_USERNAME = {name};
		final String DB_PASSWORD = {password};
		final String QUERY = "select * from {table}";
		
		try (Connection conn = DriverManager.getConnection(DB_URL, DB_USERNAME, DB_PASSWORD)) {
			Statement stmt = conn.createStatement();
			ResultSet rs = stmt.executeQuery(QUERY);
			while(rs.next()) {
				System.out.println(rs.getInt({column}));
			}
		} catch(SQLException e) {
			e.printStackTrace();
		}
		
	}

}

Update 예제

stement.executeUpdate()를 사용하여 업데이트 쿼리를 실행합니다.

public class Main {

	public static void main(String[] args) {
		final String DB_URL = "jdbc:mariadb://127.0.0.1:3306/001";
		final String DB_USERNAME = "root";
		final String DB_PASSWORD = "1234";
		final String QUERY = "select * from Users";
		final String QUERY2 = "update Users set first_name='foo33' where id=3";
		
		try (Connection conn = DriverManager.getConnection(DB_URL, DB_USERNAME, DB_PASSWORD)) {
			Statement stmt = conn.createStatement();
			stmt.executeLargeUpdate(QUERY2);
			ResultSet rs = stmt.executeQuery(QUERY);
			while(rs.next()) {
				System.out.println(rs.getInt("id"));
				System.out.println(rs.getString("first_name"));
				System.out.println(rs.getString("last_name"));
			}
		} catch(SQLException e) {
			e.printStackTrace();
		}
		
	}

}

'Databases > JDBC' 카테고리의 다른 글

[JDBC] ResultSet란  (0) 2024.07.05
[JDBC] Statements, PreparedStatement and CallableStatement  (0) 2024.07.05
[JDBC] 데이터베이스 연결 설정  (1) 2024.07.05
[JDBC] Driver Types  (0) 2024.07.05
[JDBC] JDBC란  (0) 2024.07.05