<code />
package com.fastcampus.ch3;
import java.sql.*;
public class DBConnectionTest {
public static void main(String[] args) throws Exception {
// 스키마의 이름(springbasic)이 다른 경우 알맞게 변경해야 함
String DB_URL = "jdbc:mysql://localhost:3306/springbasic?useUnicode=true&characterEncoding=utf8";
// DB의 userid와 pwd를 알맞게 변경해야 함
String DB_USER = "hyerin";
String DB_PASSWORD = "hyerin";
Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD); // 데이터베이스의 연결을 얻는다.
Statement stmt = conn.createStatement(); // Statement를 생성한다.
String query = "SELECT now()"; // 시스템의 현재 날짜시간을 출력하는 쿼리(query)
ResultSet rs = stmt.executeQuery(query); // query를 실행한 결과를 rs에 담는다.
// 실행결과가 담긴 rs에서 한 줄씩 읽어서 출력
while (rs.next()) {
String curDate = rs.getString(1); // 읽어온 행의 첫번째 컬럼의 값을 String으로 읽어서 curDate에 저장
System.out.println(curDate); // 2022-01-11 13:53:00.0
}
} // main()
}
<code />
package com.fastcampus.ch3;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;
import javax.sql.DataSource;
import java.sql.Connection;
public class DBConnectionTest2 {
public static void main(String[] args) throws Exception {
ApplicationContext ac = new GenericXmlApplicationContext("file:src/main/webapp/WEB-INF/spring/**/root-context.xml");
DataSource ds = ac.getBean(DataSource.class);
Connection conn = ds.getConnection(); // 데이터베이스의 연결을 얻는다.
System.out.println("conn = " + conn);
// assertTrue(conn!=null);
}
}
JUnit = Test Frame work
TEST 자동화
TDD = Test Driven Development
테스트 주도 개발 ==> 실행 결과를 눈으로 확인하는 것이 아니라 JUnit으로 테스트를 자동화
테스트할 코드가 아무리 많아도 일괄적으로 한번에 돌려서 어떤 테스트가 틀렸는지 확인 가능
<code />
package com.fastcampus.ch3;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import javax.sql.DataSource;
import java.sql.Connection;
import static org.junit.Assert.assertTrue;
@RunWith(SpringJUnit4ClassRunner.class) //ac를 자동으로 만들어줌
@ContextConfiguration(locations = {"file:src/main/webapp/WEB-INF/spring/**/root-context.xml"}) //xml 경로 지정해주기
public class DBConnectionTest2Test {
@Autowired
DataSource ds; //하드코딩하지말고, 빈을 가져와 쓴다 (아래 주석처리한 부분 대신)
@Test
public void springJdcConnectionTest() throws Exception{
// ApplicationContext ac = new GenericXmlApplicationContext("file:src/main/webapp/WEB-INF/spring/**/root-context.xml");
// DataSource ds = ac.getBean(DataSource.class);
Connection conn = ds.getConnection(); // 데이터베이스의 연결을 얻는다.
System.out.println("conn = " + conn);
assertTrue(conn!=null); // 괄호 안의 조건식이 true면, 테스트 성공, 아니면 실패
}
}
IntelliJ에서 제공하는 DataBase 기능을 사용해보았다


'패캠 챌린지' 카테고리의 다른 글
DAO의 작성과 적용 (0) | 2023.03.30 |
---|---|
스프링으로 DB 다루기 (0) | 2023.03.29 |
스프링 IOC와 DI (0) | 2023.03.24 |
스프링 DI 활용하기 - 이론 (0) | 2023.03.23 |
스프링 DI 활용하기 - 실습 (0) | 2023.03.22 |