
자바는 데이터베이스(DB)와 연결하여 데이터 입출력 작업을 수행할 수 있도록 JDBC(Java Database Connectivity) 라이브러리(java.sql 패키지)를 제공합니다.
JDBC는 DBMS(Database Management System)의 종류와 상관없이 사용할 수 있도록 설계된 클래스와 인터페이스로 구성되어 있습니다.
JDBC 드라이버는 DBMS와 자바 애플리케이션 간의 연결을 단님하는 인터페이스 구현체입니다.
각 DBMS마다 별도의 JDBC 드라이버를 제공하며, 이를 다운로드해서 사용해야 합니다.
DriverManager 클래스JDBC를 이용한 데이터베이스 연결을 위해 JDBC URL을 사용합니다.
jdbc:DBMS://IP주소:포트번호/스킨마명?serverTimezone=Asia/Seoul
jdbc:mysql://localhost:3306/ssgdb?serverTimezone=Asia/Seoul

위한 필요 정보
1. JDBC Driver : MySQL의 경우 com.mysql.cj.jdbc.Driver 드라이버 등록
2. IP 주소 : DBMS가 설치된 컴퓨터의 IP (localhost)
3. 포트 번호 : MySQL의 기본 포트 3306
4. 사용자 계정 정보 : root / root
5. 데이터베이스(Schema) 이름** : ssgdb
JDBC에서 SQL을 실행할 때 Statement 대시 PreparedStatement를 사용하면 SQL Injection 방지 및 성능 효율을 기대할 수 있습니다.
PreparedStatement 객체를 생성하며 SQL 문을 전달setXXX() 메서드를 사용하여 매개변수 값 설정executeUpdate()를 호출하여 SQL 실행 후 반환값 확인import java.sql.*;
public class UserInsert {
public static void main(String[] args) {
Connection connection = null;
try {
// 1️⃣ MySQL JDBC 드라이버 로드
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("\u2705 Driver loaded successfully!");
// 2️⃣ DB 연결
connection = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/ssgdb?serverTimezone=Asia/Seoul",
"root", "root"
);
System.out.println("\u2705 Connection established: " + connection);
// 3️⃣ SQL 문 작성
String query = "INSERT INTO users(userid, username, userpassword, userage, useremail) VALUES(?,?,?,?,?);";
// 4️⃣ PreparedStatement 객체 생성 및 SQL 연결
PreparedStatement preparedStatement = connection.prepareStatement(query);
preparedStatement.setString(1, "ssgcom3");
preparedStatement.setString(2, "이민우");
preparedStatement.setString(3, "password");
preparedStatement.setInt(4, 33);
preparedStatement.setString(5, "minooo@mail.com");