본문 바로가기

BackEnd/Java

[java] 이것이 자바다 부록 MySQL과 연동

728x90
반응형

1. MySQL에서 java와 연동시키기 위해 새로운 관리자 모드 설정

   ▷ id 및 pw 설정

 

2. MySQL에서 새로운 생성자 추가


1. Hostname : 연결할 주소를 입력
2. Port : MySQL 기본은 3306, 다른 값으로 변경 가능합니다.

 

3. MySQL과 연결 예제

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

public class ConnectionExample {
	public static void main(String[] args) {
		Connection conn = null;
		
		try {
			Class.forName("com.mysql.cj.jdbc.Driver"); // 8.0 이상
//			Class.forName("com.mysql.jdbc.Driver"); // 5점대 이하
			
			conn = DriverManager.getConnection(
            		"jdbc:mysql://연결 주소:포트/SID",
                	"mysql ID",
            		"mysql PW"
					);
					
			System.out.println("연결 성공");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			if(conn != null) {
				try {
					conn.close();
					System.out.println("연결 끊기");
				} catch (SQLException e) {}
			}
		}
	}
}
	
//	출력 : 
//	연결 성공
//	연결 끊기

 

 

4. 테이블에 값 추가 예제(INSERT)

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

public class UserInsertExample {
	public static void main(String[] args) {
		Connection conn = null;
		
		try {
			// JDBC Driver 등록
			Class.forName("com.mysql.cj.jdbc.Driver");
			
			// 연결
			conn = DriverManager.getConnection(
            		"jdbc:mysql://연결 주소:포트/SID",
                	"mysql ID",
            		"mysql PW"
			);
			
			// SQL문 작성 Prepare
			String sql = "" +
				"INSERT INTO users (userid, username, userpassword, userage, "
				+ "useremail)" +
				"VALUES (?, ?, ?, ?, ?)";
			
			// PreparedStatement 값 넣기
			PreparedStatement pstmt = conn.prepareStatement(sql);
			pstmt.setString(1, "winter");
			pstmt.setString(2, "한겨울");
			pstmt.setString(3, "12345");
			pstmt.setInt(4, 25);
			pstmt.setString(5, "winter@mycompany.com");
			
			
			// SQL 실행
			int rows = pstmt.executeUpdate();
			System.out.println("저장된 행 수 : " + rows);
			
			pstmt.close();
		
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			if(conn != null) {
				try {
					conn.close();
				} catch (SQLException e) {}
			}
		}
	}
}

//출력 : 
//저장된 행 수 : 1

 

 

MySQL은 오라클과 연결 방법만 조금 다를 뿐 코드는 동일하기 때문에 다음 장으로 넘어가보겠습니다!!

 

많은 분들의 피드백은 언제나 환영합니다!  많은 댓글 부탁드려요~~

 

728x90
반응형