spring + mybatis 게시판
개발환경
Eclipse Neon
JDK 8
Tomcat 8.5
이클립스에서 STS 3.8.4 설치
이클립스에서 git 사용
egit 설치
perspective > git 추가
프로젝트 우클릭 > Team > Share Project > Create > 프로젝트 폴더 경로와 다르게 선택 후 Finish
커밋
?가 표시된 파일은 추적 중이 아닌 파일이다
프로젝트 우클릭 > Team > Commit 으로 커밋 가
이클립스 + 깃랩
https://www.slideshare.net/sokngimlasy/add-eclipse-project-with-git-lab
Spring Legacy Project
project properties > project facets > java version 1.8
@Controller
public class HomeController {
private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
/**
* 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 - 클라이언트에서 들어온 요청에 해당하는 비즈니스 로직을 찾아줌
리턴값은 서블릿 설정으로 인해 /WEB-INF/views/리턴값.jsp 가 된다.
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
model.addAttribute(); 는 수행한 결과를 화면으로 보내주기 위한 부분이다.
<P> The time on the server is ${serverTime}. </P>
출처 : http://blog.daum.net/gunsu0j/165
마이바티스 연동
mybatis-x.x.x.jar 파일을 클래스패스에 두거나 메이븐을 사용한다면 pom.xml에 아래 추가
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.4</version>
</dependency>
연동모듈
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.0</version>
</dependency>
스프링에서 JDBC 를 사용하기 위한 라이브러리
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
커넥션 풀을 위한 라이브러리
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp</artifactId>
<version>2.1</version>
</dependency>
Oracle 추가 (ojdbc14 = jdk1.4, ojdbc6 = jdk1.6)
- 로컬에 ojdbc7.jar 설치해서 추가
<dependency>
<groupId>oracle.jdbc</groupId>
<artifactId>OracleDriver</artifactId>
<version>12.1.0.2.0</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/ojdbc7.jar</systemPath>
</dependency>
스프링 루트 컨텍스트에 설정 추가 (commons-dbcp 1버전이면 아래에서 dbcp.Basic...)
<!-- 데이터베이스 연결 -->
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@117.52.91.94:xe" />
<property name="username" value="newbie" />
<property name="password" value="newbie2017" />
</bean>
<!-- SqlSession -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- MyBatis 설정 파일의 위치를 지정합니다. -->
<property name="configLocation" value="classpath:/mybatis-config.xml" />
<!-- SQL 파일의 위치를 지정합니다. -->
<property name="mapperLocations" value="classpath:/sqlmap/*.xml" />
</bean>
<!-- SqlSession -->
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"
destroy-method="clearCache">
<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>
<!-- 트랜잭션 매니저 bean 을 등록합니다. -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 아노테이션 기반의 트랜잭션을 사용합니다. -->
<tx:annotation-driven transaction-manager="transactionManager" />