1. Mysql Connection jdbc 설치
https://dev.mysql.com/downloads/mysql/
위의 사이트로 들어가서 본인 pc 버전에 맞는 jdbc를 다운받아주면 된다.
본인은 mac m1이기에 맞는 운영체제에 맞는 버전을 선택!
당연히 pc에 mysql 설치가 되어있어야 한다.
그 부분은 다른 분들의 글이 많으므로 생략.
2. IntelliJ 에서 jdbc 라이브러리 추가
File -> Project Structure -> Libraries -> + 버튼으로 방금 다운 받은 bin.jar 파일을 선택한다.
라이브러리를 추가하면, 아래와 같이 외부 라이브러리 폴더에 커넥션이 추가된다.
3. JDBC MySQL 연동 확인
(1) 전체 코드
package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Test {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "1234";
// JDBC 드라이버 로드
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch(ClassNotFoundException e) {
System.out.println("JDBC 드라이버 로드하는데 문제 발생 : " + e.getMessage());
e.printStackTrace();
}
// 접속
Connection con = null;
try {
con = DriverManager.getConnection(url, user, password);
System.out.println("연결 완료");
} catch (SQLException e) {
System.out.println("연결 오류 : " + e.getMessage());
e.printStackTrace();
}
// 접속 종료
try {
if (con != null) con.close();
} catch (SQLException e) {}
}
}
위 코드를 세부적으로 보면,
(2) mysql 정보를 객체로 생성
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "1234";
위 코드가 굳이 없어도 되지만, 가독성을 깔끔한 코드를 위해 객체로 만들어 두었다.
(3) JDBC 드라이버 로드
// JDBC 드라이버 로드
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch(ClassNotFoundException e) {
System.out.println("JDBC 드라이버 로드하는데 문제 발생 : " + e.getMessage());
e.printStackTrace();
}
기본적으로 예외처리가 가능하게끔 try - catch 구문을 사용해야하며,Class의 forName을 통해 위 경로를 입력한다.
(4) 데이터베이스에 접속
// 접속
Connection con = null;
try {
con = DriverManager.getConnection(url, user, password);
System.out.println("연결 완료");
} catch (SQLException e) {
System.out.println("연결 오류 : " + e.getMessage());
e.printStackTrace();
}
Connection의 객체를 생성하고, DriverManager의 getConnection을 통해 앞서 선언한 디비 정보를 입력한다.
(5) 접속 종료
// 접속 종료
try {
if (con != null) con.close();
} catch (SQLException e) {}
JDBC를 이용해서 디비에 접속을 했으면, 접속을 끊겠다는 코드도 반드시 선언되어야 한다.
'Java > 문법 및 이해' 카테고리의 다른 글
[JAVA] JDBC API : java.sql package (2) | 2023.02.12 |
---|---|
[JAVA] JDBC 란? (0) | 2023.02.11 |
[Java] SAX Parser (0) | 2023.01.31 |
[JAVA] 람다와 함수형 인터페이스 (0) | 2023.01.27 |
[JAVA] Singleton 싱글톤 디자인 패턴 (0) | 2023.01.22 |