관련글
2012/09/24 - [Dev. 스프링] - [스프링 팁] Spring 시작하기 - spring tool suite 및 추가 프로그램 설치하기
2012/09/26 - [Dev. 스프링] - [스프링 팁] Spring 시작하기 - Web 연동을 위한 spring template project 생성하기 2012/09/25 - [Dev. 스프링] - [스프링 팁] Spring에서 java compiler 버전과 Project Facets 버전 맞추기 2012/09/25 - [Dev. 스프링] - [스프링 팁] MyBatis 환경 세팅하기 (1) - Maven 이용한 jar 파일 다운로드 2012/09/25 - [Dev. 스프링] - [스프링 팁] MyBatis 환경 세팅하기 (2) - 데이터베이스 연동위해 sample 프로젝트를 다운받아 필요한 파일 복사하기
아래 샘플 위치로 바로가기 https://src.springframework.org/svn/spring-samples/
아래의 주소를 복사! < https://src.springframework.org/svn/spring-samples/petclinic/ > <--귀찮음 걍 이거 복사.ㅎ
스프링 툴의 Perspective 버튼 클릭
SVN 선택
SVN 창에서 마우스 우클릭 > New > Repository Location 클릭
아까 복사해 놓았던 다운 받을 샘플 위치 입력
SVN 창에 등록되면 trunk 폴더에 마우스 우클릭 후 Checkout 실행
finish 클릭
Perspective를 SVN 에서 JavaEE나 Spring으로 바꾸고 Explorer창의 다운받은 샘플 프로젝트 확인 후
아래 위치한 두개의 파일을 복사!
jdbc.properties
messages.properties
사용하고자 하는 프로젝트의 동일한 위치에 붙여넣기!
샘플프로젝트의 아래 위치에서 필요한 파일 복사하기
applicationContext-dataSource.xml
applicationContext-jdbc.xml
사용할 프로젝트의 같은 위치에 붙여넣기
복사해 넣은 파일 수정하기
jdbc.properties 파일 열고 수정하기
내용을 이렇게 수정한다. (오라클 사용 세팅)
# Properties file with JDBC and JPA settings.
#
# Applied by <context:property-placeholder location="jdbc.properties"/> from
# various application context XML files (e.g., "applicationContext-*.xml").
# Targeted at system administrators, to avoid touching the context XML files.
#-------------------------------------------------------------------------------
# Oracle Settings
jdbc.driverClassName=oracle.jdbc.OracleDriver
jdbc.url=jdbc:oracle:thin:@아이피주소:1521:xe
jdbc.username=사용할계정(ex. scott)
jdbc.password=비밀번호(ex. tiger)
applicationContext-dataSource.xml 열기
다음과 같이 내용 수정
<?xml version="1.0" encoding="UTF-8"?>
<!-- Application context definition for PetClinic Datasource. -->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsd">
<!-- ========================= DATASOURCE DEFINITION ========================= -->
<!-- Configurer that replaces ${...} placeholders with values from a properties
file -->
<!-- (in this case, JDBC-related settings for the dataSource definition
below) -->
<context:property-placeholder location="classpath:jdbc.properties" />
<!-- DataSource configuration for Apache Commons DBCP. -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close" p:driverClassName="${jdbc.driverClassName}"
p:url="${jdbc.url}" p:username="${jdbc.username}" p:password="${jdbc.password}">
<!-- 최대 커넥션 개수 -->
<property name="maxActive" value="50"></property>
<!-- 접속이 없을 경우 최대 유지 커넥션 개수 -->
<property name="maxIdle" value="30"></property>
<!-- 접속이 없을 경우 최소 유지 커넥션 개수 -->
<property name="minIdle" value="10"></property>
<!-- 최대 대기시간(초) : 초과시 연결실패 오류 발생 -->
<property name="maxWait" value="5"></property>
</bean>
</beans>
커넥션풀(DB Connection Pool) 사용 위한 세팅
설명한 링크 바로가기 http://mvnrepository.com/artifact/commons-dbcp/commons-dbcp/1.4
maven 탭의 아래 부분을 복사한다. (버전 변경 안할거면 이거 그대로 복사하면 됨.)
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
사용할 프로젝트의 pom.xml 을 연다. (소스가 바로 안보이는 사람들은 하단의 Overview 탭을 pom.xml 탭으로 바꾼다.)
아래처럼 위에서 복사한 내용을 붙여넣기 한다.
지금까지 잘 따라했다면 pom.xml에는 다음의 소스가 추가되었을 것이다.
<!-- MyBatis 설정 세팅 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.1.1</version>
</dependency>
<!-- 스프링과 연동 위한 jar 파일 다운 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.1.0</version>
</dependency>
<!-- Commons DBCP 위한 설정 -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
applicationContext-jdbc.xml 파일 열기
다음과 같이 수정.
<?xml version="1.0" encoding="UTF-8"?>
<!--
Application context definition for PetClinic on JDBC.
-->
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
<!-- ========================= RESOURCE DEFINITIONS ========================= -->
<!-- Transaction manager for a single JDBC DataSource (alternative to JTA) -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
p:dataSource-ref="dataSource"/>
<!-- Transaction manager that delegates to JTA (for a transactional JNDI DataSource) -->
<!--
<bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager"/>
-->
<!-- ========================= BUSINESS OBJECT DEFINITIONS ========================= -->
<!--
Activates various annotations to be detected in bean classes: Spring's
@Required and @Autowired, as well as JSR 250's @PostConstruct,
@PreDestroy and @Resource (if available) and JPA's @PersistenceContext
and @PersistenceUnit (if available).
-->
<context:annotation-config/>
<!--
Instruct Spring to retrieve and apply @AspectJ aspects which are defined
as beans in this context (such as the CallMonitoringAspect below).
<aop:aspectj-autoproxy/>
-->
<!--
Instruct Spring to perform automatic transaction management on annotated classes.
The SimpleJdbcClinic implementation declares @Transactional annotations.
"proxy-target-class" is set because of SimpleJdbcClinic's @ManagedOperation usage.
<tx:annotation-driven/>
-->
</beans>
사용할 프로젝트의 web.xml 열기
새로 추가한 파일들을 자동으로 읽어들이기 위해 web.xml에 다음 내용 추가!
아래 링크 바로가기 http://www.mybatis.org/spring/factorybean.html
Quick Setup의 박스 안 내용 복사! 홈페이지 가기 귀찮으면 요 아래 박스 내용 복사~!
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="mapperLocations" value="classpath*:sample/config/mappers/**/*.xml" /> </bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg index="0" ref="sqlSessionFactory" /> </bean>
사용할 프로젝트의 root-context.xml 파일 열기
위에서 복사한 내용 붙여넣고 불필요한 부분 삭제! 수정 완료 후 root-context.xml의 모습 다 귀찮으면 이거 복사해.ㅋㅋㅋ
<?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-3.0.xsd">
<!-- Root Context: defines shared resources visible to all other web components -->
<!-- MyBatis 세팅 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations"
value="classpath*:kr/co/khi/mapper/**/*.xml" />
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory" />
</bean>
</beans>
이제 드디어 데이터베이스 사용 위한 MyBatis 세팅 완료~! 이제 잘 나오나 찍어봐야지?
'Dev. 스프링 > 환경세팅' 카테고리의 다른 글
[스프링 팁] Spring 시작하기 - Web 연동을 위한 spring template project 생성하기 (2) | 2012.09.26 |
---|---|
[스프링 팁] MyBatis 환경 세팅하기 (3) - 데이터베이스 연동하여 결과 출력해보기(controller를 이용한 web-database연동) (0) | 2012.09.26 |
[스프링 팁] MyBatis 환경 세팅하기 (1) - Maven 이용한 jar 파일 다운로드 (0) | 2012.09.25 |
[스프링 팁] Spring Web 사용시 필터Filter를 이용한 자동 인코딩Encoding(post방식만) (0) | 2012.09.25 |
[스프링 팁] Spring에서 java compiler 버전과 Project Facets 버전 맞추기 (0) | 2012.09.25 |