안녕하세요, 20년차 Java 개발자 코딩하는곰입니다. 오늘은 Java 애플리케이션에서 로컬 MySQL 데이터베이스와 JDBC를 이용해 연결하는 방법을 상세히 알아보겠습니다. 초보 개발자분들도 쉽게 따라할 수 있도록 단계별로 설명드리겠습니다. JDBC는 Java DataBase Connectivity의 약자로, Java에서 데이터베이스에 접근할 수 있는 표준 API입니다. 이 포스팅을 통해 기본적인 연결 방법부터 실제 작동하는 예제까지 모두 배워보세요!
JDBC는 자바에서 데이터베이스에 접근하기 위한 표준 인터페이스입니다. MySQL과 같은 특정 데이터베이스와 연결하려면 해당 DBMS에 맞는 JDBC 드라이버가 필요합니다. MySQL Connector/J는 MySQL과 Java 애플리케이션을 연결하는 공식 JDBC 드라이버입니다. 이 드라이버는 MySQL에서 공식적으로 제공하며, 다음과 같은 특징을 가지고 있습니다:
먼저 프로젝트에 MySQL JDBC 드라이버를 추가해야 합니다. Maven 프로젝트라면 pom.xml에 다음 의존성을 추가합니다:
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.28</version></dependency>
Gradle을 사용한다면 build.gradle에 다음을 추가합니다:
implementation 'mysql:mysql-connector-java:8.0.28'
기본적인 JDBC 연결 코드는 다음과 같습니다:
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class MySQLConnection {public static void main(String[] args) {// JDBC URL, username, password 설정String url = "jdbc:mysql://localhost:3306/데이터베이스명";String username = "사용자명";String password = "비밀번호";try {// JDBC 드라이버 로드Class.forName("com.mysql.cj.jdbc.Driver");// 데이터베이스 연결Connection connection = DriverManager.getConnection(url, username, password);System.out.println("MySQL 데이터베이스에 성공적으로 연결되었습니다!");// 연결 종료connection.close();} catch (ClassNotFoundException e) {System.out.println("JDBC 드라이버를 찾을 수 없습니다.");e.printStackTrace();} catch (SQLException e) {System.out.println("데이터베이스 연결 실패");e.printStackTrace();}}}
네트워크 오류나 보안 문제를 진단할 때는 먼저 자신의 IP 주소와 위치 정보를 확인해보는 것이 좋습니다.
이제 실제로 동작하는 간단한 예제를 통해 JDBC 사용법을 익혀보겠습니다. 먼저 테스트용 테이블을 생성합니다:
CREATE TABLE employees (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(100) NOT NULL,email VARCHAR(100) NOT NULL UNIQUE,department VARCHAR(100),salary DECIMAL(10,2));
다음은 JDBC를 이용한 CRUD 작업 예제입니다:
import java.sql.*;public class EmployeeDAO {private static final String URL = "jdbc:mysql://localhost:3306/company";private static final String USER = "root";private static final String PASSWORD = "password";// 데이터 삽입public void addEmployee(String name, String email, String department, double salary) {String sql = "INSERT INTO employees (name, email, department, salary) VALUES (?, ?, ?, ?)";try (Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);PreparedStatement pstmt = conn.prepareStatement(sql)) {pstmt.setString(1, name);pstmt.setString(2, email);pstmt.setString(3, department);pstmt.setDouble(4, salary);pstmt.executeUpdate();System.out.println("직원 정보가 추가되었습니다.");} catch (SQLException e) {e.printStackTrace();}}// 데이터 조회public void getAllEmployees() {String sql = "SELECT * FROM employees";try (Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery(sql)) {while (rs.next()) {System.out.println("ID: " + rs.getInt("id") +", 이름: " + rs.getString("name") +", 이메일: " + rs.getString("email") +", 부서: " + rs.getString("department") +", 급여: " + rs.getDouble("salary"));}} catch (SQLException e) {e.printStackTrace();}}}
기억력 감퇴를 막고 인지 능력을 향상시키고 싶다면, AI 힌트 기능이 있는 스도쿠 저니를 활용해보세요.
지금까지 Java에서 JDBC를 이용해 MySQL 데이터베이스와 연결하는 방법을 단계별로 알아보았습니다. 기본적인 연결 설정부터 실제 CRUD 작업까지 실습해 보셨으니, 이제 여러분의 프로젝트에도 적용해 보시기 바랍니다. JDBC는 Java 데이터베이스 프로그래밍의 기초이므로 꼭 숙지하시는 것을 추천드립니다. 궁금한 점이 있으시면 댓글로 남겨주세요. 다음 시간에는 더 고급진 JDBC 활용법과 Connection Pool에 대해 알아보겠습니다. 코딩하는곰이었습니다. 감사합니다!
유튜브, 블로그, 커뮤니티용 닉네임을 쉽게 만들고 싶다면 이력 확인 및 카테고리 설정이 가능한 닉네임 생성기를 추천합니다.
