




String DB_URL = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC";String DB_USER = "bitstudy";String DB_PASSWORD = "tiger";Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);Statement stmt = conn.createStatement();String sql = "select now()";ResultSet rs = stmt.executeQuery(sql);int i = 0;
while(rs.next()){
String currDate = rs.getString(i+=1);
System.out.println(currDate);
}
version에 버전 지우고 ${org.springframework-version}이라고 적기.

String DB_URL = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC";String DB_USER = "bitstudy";String DB_PASSWORD = "tiger";String DB_DRIVER = "com.mysql.cj.jdbc.Driver";DriverManagerDataSource ds = new DriverManagerDataSource();
ds.setDriverClassName(DB_DRIVER);
ds.setUrl(DB_URL);
ds.setUsername(DB_USER);
ds.setPassword(DB_PASSWORD);Collection conn = ds.getConnection();
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8"></property>
<property name="username" value="bitstudy"></property>
<property name="password" value="tiger"></property>
</bean> 
ApplicationContext ac = new GenericApplicationContext("file:src/main/webbapp/WEB-INF/spring/**/root-context.xml");
DataSource ds = ac.getBean(DataSource.class);
Collection conn = ds.getConnection();위 1번 2번 방식으로 만들고 sout하면 같은 결과가 나와야 한다.
그런데 이렇게 돌려보면 제대로 된건지 안된건지 콘솔창에 찍어서 일일히 확인해야 한다.
이런 것을 자동으로 해주는 것이 있다. Test 자동화라는 건데 JUnit 이라는 테스트 도구를 사용하면 된다.
이것을 TDD라고 한다.
만드는 방법








db 코드 작성 (ApplicationContext를 사용한 수동방법)
@Test
public void main() throws SQLException {
ApplicationContext ac = new GenericXmlApplicationContext("file:src/main/webapp/WEB-INF/spring/**/root-context.xml");
DataSource ds = ac.getBean(DataSource.class);
Connection conn = ds.getConnection();
assertTrue(conn != null);
}
메소드에 static을 쓰면 안된다.
@Test : 이 메서드는 테스트 메서드이다. assertTrue(conn != null); : (conn이 not null이라는 것은 잘 돌아갔다는 뜻. )
db 코드 작성 (자동으로 주입받기)
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"file:src/main/webapp/WEB-INF/spring/**/root-context.xml"})
public class Ex02_2_DBConnectionTest2Test {
@Autowired
DataSource ds;
@Test
public void main() throws SQLException {
Connection conn = ds.getConnection();
assertTrue(conn != null);
}
}

우측 DB아이콘 누르기

+버튼 누르고 > 데이터 소스 누르기 > MySQL 누르기

만들어둔 사용자(bitstudy), 비밀번호(tiger), 데이터베이스(test) 입력후
연결 테스트 누른다.

테스트 누르면 드라이버 다운로드하라고 뜨는데 다운로드 하면 됨.

성공 뜨면 OK누르기.

테이블 더블클릭하면 조회할 수 있다.






java.lang.ExceptionInInitializerError
에러날 시 poom.xml junit의 버전을 확인해보자
만약 4.7로 되어있다면 4.12로 변경하기!