
[ JDBC - 자바와 마리아DB 연결 쪽 ]
@Test 어노테이션
1-1. test 폴더에 먼저 test 해보자 (디버깅까지 다 해보자)
원래, 하나의 프로젝트에 main은 하나만 있어야한다. 때문에 @Test 를 사용!
본코드 : main 파일 / test코드 : test 파일 나눠서 코딩을 하자
1. test폴더에 클래스와 메소드를 작성하자
2. 통신을 하기 위한 필드값 작성

네트워크 통신의 기본 5가지 !! (인증 받아야 하는 경우에)
★ IP, PORT, ID, PASSWORD, 프로토콜 ★ 을 넣어준다!
인증이 필요한 네트워크 통신에서는 사용자의 신원을 확인하고 인증 절차를 거쳐야 하기 때문에 ID, PASSWORD도 함께 필요하다.
url에 프로토콜, ip, 포트 번호가 다 들어있기에 url을 만들어준다. * 마리아DB의 프로토콜 jdbc:mariadb: -> 이런걸 챗GPT에게 물어보는 것! * ID와 Password는 url에 포함되지 않아서 따로 만들어주기. (필드 = 클래스 내부에 선언된 변수)
[ jdbc:mariadb://본인아이피:포트/데이터베이스명 ]
* 내 컴퓨터에 접속할거면 ip란에 "localhost"나 루프백ip를 기입
* 데이터베이스명 = DB안의 데이터베이스 중 어떤 데이터베이스에 접근할 건지 설정할 수 있음
* URL에 데이터베이스명을 명시하면 해당 데이터베이스에 접근할 수 있다
* 접속 후에 SQL 문을 사용하여 다른 데이터베이스로 전환할 수도 있다.
: "USE 데이터베이스명;"
자세한건... 해당 문서를 읽어보면 안다.* 파일 서버는 주로 파일 전송을 위해 FTP(File Transfer Protocol) 프로토콜을 사용
* 웹 서버는 HTTP(Hypertext Transfer Protocol) 프로토콜을 사용
* 오라클 데이터베이스는 오라클 프로토콜을 사용
* 마리아DB는 마리아DB의 고유한 프로토콜을 사용
= DB마다 프로토콜이 다르구나!!
+) 원래라면…

이렇게, 메소드에 리턴값이 들어가는데, test폴더에선 불가능하니 패스 아무튼, Connection은 프로토콜이 적용된 소켓(Socket)이다!!!
디버깅 하기
오류 모음
테스트 코드 완료
package db;
import org.junit.jupiter.api.Test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBConnectionTest {
@Test
public void getInstance_test() {
String username = "root";
String password = "1234";
String url = "jdbc:mariadb://localhost:3306/cosdb";
//프로토콜이 적용된 소켓
try {
Connection conn = DriverManager.getConnection(url, username, password);
//여기에 원래는 return이 있는데 애는 void라 return ㄴㄴ 안됨 그래서 없음
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}Share article














