티스토리 뷰
반응형
테스트 환경
- Spring 4.3.18
- STS 플러그인 3.9.5
- JDK 1.8
- Tomcat 8.0
- MySQL 8.0
Step 0. 준비 사항
- 테스트 할 프로젝트가 준비되어 있지 않다면 Eclipse에 STS 플러그인을 설치한 후 Spring MVC Project 생성
- Spring, JDK, Tomcat 버전을 테스트 환경과 같이 설정
- MySQL DB 서버가 없다면 설치
Step 1. pom.xml 파일에 관련 라이브러리 추가
1 2 3 4 5 6 7 8 9 10 11 12 13 | <!-- MySQL --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</version> </dependency> <!-- Apache Commons-DBCP --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-dbcp2</artifactId> <version>2.4.0</version> </dependency> | cs |
https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-versions.html
Step 2. root-context.xml 파일에 dataSource 추가
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- Root Context: defines shared resources visible to all other web components --> <!-- MySQL dataSource --> <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://127.0.0.1:3306/test"/> <property name="username" value="user"/> <property name="password" value="user123"/> </bean> </beans> | cs |
* spring-jdbc에서 제공하는 기능으로 DB 연동을 할수도 있지만 추후 Connection Pool을 사용하기 위해 apache에서 제공하는 commons-dbcp 라이브러리를 사용하였음
Step 3. HomeController.java 파일에 테스트 소스 작성
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | package com.my.mysql; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.text.DateFormat; import java.util.Date; import java.util.Locale; import org.apache.commons.dbcp2.BasicDataSource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; /** * Handles requests for the application home page. */ @Controller public class HomeController { private static final Logger logger = LoggerFactory.getLogger(HomeController.class); @Autowired BasicDataSource dataSource; /** * Simply selects the home view to render by returning its name. */ @RequestMapping(value = "/", method = RequestMethod.GET) public String home(Locale locale, Model model) { logger.info("Welcome home! The client locale is {}.", locale); Date date = new Date(); DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale); String formattedDate = dateFormat.format(date); model.addAttribute("serverTime", formattedDate ); return "home"; } @RequestMapping("/dbTest.do") public String dbTest(Model model) { Connection conn = null; Statement st = null; try { conn = dataSource.getConnection(); st = conn.createStatement(); ResultSet rs = st.executeQuery("select now() as now;"); while(rs.next()) { model.addAttribute("serverTime", rs.getString("now")); } } catch (Exception e) { e.printStackTrace(); } finally { try { if(st != null) st.close(); } catch (SQLException e) { e.printStackTrace(); } try { if(conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } return "home"; } } | cs |
48~82 라인이 DB 접속 테스트를 위해 작성된 코드이다.
Step 4. 테스트
반응형
'Spring' 카테고리의 다른 글
[Spring] Jasypt를 이용한 DB정보 암호화 (0) | 2018.07.10 |
---|---|
[Spring] MySQL MyBatis 연동 방법 (0) | 2018.07.06 |
[Spring] Tiles Spring 연동 방법 및 사용법 (2) | 2018.06.15 |
Spring 강좌 4강 - 예제 소스 및 주요파일 분석 (1) | 2018.04.20 |
Spring 강좌 3강 - MVC패턴 및 Spring 기본 동작 순서 (1) | 2018.04.19 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- git
- autoenter
- React
- react 강의
- react 공식문서
- Nexacro
- react 강좌
- Grid
- nodatatext
- dropdowncombo
- JavaScript Hoisting 호이스팅
- ListView
- Git 연동
- Git 사용법
- dropdowncalendar
- IntelliJ
- CodeSandbox
- 인텔리제이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함