JAVA에서 작업을 끝내고 MySQL에 데이터를 연결하는 방법은 조금 복잡해 보이지만, 코드 형식만 잘 파악한다면, 쉽게 연결할 수 있을 것 같는데요, JAVA의 코드를 이용해 MySQL의 데이터를 연결하는 과정의 코드를 작성해 보도록 하겠습니다.
서론
저는 실습예제로도 사용할 새로운 클래스를 세 가지를 먼저 만들고 시작할텐데요. DBUtil Class, Main Class, MemoVO Class로 나누고, DBUtil Class에서는 MySQL과 연결할 Connection과 Method 등을 작성할 것이고, Main Class에서는 실행을 위한 모든 코드들을 정렬할 것입니다. 마지막으로 MemoVO에서는 MySQL에 정의했던 요소들을 정리할 것입니다.
물론 시작하기전에 MySQL의 자르 파일형식은 프로젝트명을 클릭한 후 복사 붙여 넣기를 해야겠지만요.
본론 : DBUtil Class의 Connection 연결 단계
Connection 이란
데이터베이스(MySQL)의 연결 정보를 반환하는 메서드를 정의하는 것을 뜻합니다. 그렇기 때문에 임포트를 이용해서 라이브러리를 추가해줘야 하죠. 물론 각각의 import를 추가하고 싶지 않다면, ".*'을 이용하는 것도 좋은 방법입니다.
1. import 라이브러리에 java.sql. * 혹은 java.sql.Connection 추가하기
import java.sql.Connection;
2. public static Connection getConnection 메서드 만들기
그리고 누구나 접근을 해서 객체를 생성할 수 있도록 public static을 만들어주는 작업도 필요로 합니다. 하지만 중복적으로 메서드를 만들거나 중복적으로 변수를 만드려고 하면 안 되기 때문에 이 점을 주의해야 합니다.
public static Connection getConnection() {
3. 아직 데이터베이스에 연결된 것이 없기 때문에 null 값을 지정해 줍니다.
Connection conn = null;
그리고 이제, 데이터베이스에 연결을 도와주는 드라이버를 가지고 와야 하는데, 드라이버를 가져올 때 다른 값의 예외를 허용하지 않도록 try catch를 이용해 줍니다.
4.try catch 이용하고, 외부 드라이버를 가져옵니다.
내가 가지고 있는 외부 드라이버를 가져와야 합니다. : 내가 가진 클래스 중에 forName(클래스이름)으로 정보를 가져오겠습니다.
try {
Class.forName("com.mysql.cj.jdbc.Driver");
5.url 정보 입력하기
여기서 String 타입을 작성하는 이유는 웹이든 어디든 문자로 정보를 받을 때 문자로 받기를 원하기 때문입니다.
String url = "jdbc:mysql://localhost:포트번호/board?serverTimezone=UTC";
6. 본인의 MySQL의 유저 정보를 입력해 줍니다.
String user = "우아 개발";
String password = "우와우와";
7. 실제 정보 확인하고 데이터 베이스 객체를 생성해 줍니다.
conn = DriverManager.getConnection(url, user, password);
8. 예외를 허용하지 않는 최상위 변수인 Excetion을 사용하고, 그 외의 에러나 예외를 추적할 수 있도록 printDtackTrace를 사용합니다.
}catch(Exception e) {
e.printStackTrace();
}
return conn;
}
}
여기서 retrun을 사용하는 의미는, "내가 방금 연결한 데이터베이스에 값을 돌려줄게"라는 의미로 사용이 됩니다. return을 사용하지 않으면,
9. 만약 데이터 접속 정보가 옳지 않다, 혹은 실패했다는 표시를 하고 싶다면? catch와 return 구문에
단순히 System.out.pintln으로 "데이터 접속 정보가 올바르지 않다"라는 코드를 입력해 주면 됩니다.
}catch(SQLException e) {
System.out.println("데이터 접속 정보가 옳지 않습니다.");
return conn;
} catch (ClassNotFoundException e) {
System.out.println("자바를 연결하는 드라이버를 가져올 수 없습니다.");
결론 : 코드 정리
위의 코드를 정리한다면 아래와 같은 코드가 나오는 것을 알 수 있습니다. 하지만, 데이터베이스를 연결하려는 목적에 따라 코드는 달라질 수 있으니 참고하시길 바랍니다.
import java.sql.*;
public class DBUtil {
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://localhost:유저 포트/컬럼명?serverTimezone=UTC";
String user = "유저 아이디";
String password = "비밀번호";
conn = DriverManager.getConnection(url, user, password);
}catch(Exception e) {
e.printStackTrace();
}
return conn;
'JAVA' 카테고리의 다른 글
ArrayList (1) : 제네릭기법의 특징과 ArrayList 의 특징 (0) | 2023.11.06 |
---|---|
JAVA에서 MySQL의 데이터를 연결하자 #2 값 입력 : PrintStackTrace (0) | 2023.10.31 |
그래픽을 활용한 자바 : GUI 체크박스 만들기와 그룹의 생성 (1) | 2023.10.26 |
그래픽을 활용한 자바 : GUI 창 위치와 크기 설정하기 (1) | 2023.10.26 |
댓글