Programming/온라인 전시회

Spring mybatis 순서 및 셋팅 (Project 생성, Java version, pom.xml, web.xml, root-context.xml

Ryuha류하 2021. 2. 11. 16:16

Spring CURD Project (MyBatis)를 생성하는 방법은 다음과 같다

 

1. 새로운 Spring MVC 프로젝트 생성 (java version 맞추어주기

2. Library dependency 추가

3. web.xml : UTF-8 encoding filter 추가

4. root-context.xml 파일에 data source, SqlSessionFactory, SqlSession bean을 등록

5. myBatis config.xml 파일 생성

6. first-mapper.xml 파일 생성

7. FirstVO class 생성 (getters & setters)

8. FirstDAO class 생성 (CRUD methods)

9. FirstService interface 생성

10. FirstServiceImpl class 생성

11. BoardController class 생성

12. jsp 페이지들 제작

 

 

1. 새로운 Spring MVC 프로젝트 생성 (java version 맞추어주기

new -> project로 새로운 프로젝트를 생성한다

 

 

Spring을 검색해 Spring Legacy Project를 실행
프로젝트의 이름을 작성하고 Spring MVC Project를 선택
package를 설정한다.
자바 버전을 맞추어준다
그 뒤 project - properties에서 java 버전을 맞추어준다

그런데.... 오류가 나타났다

Spring Facted Project Problem - java compiler level does not match the version of the installed Java Project facet이라는 오류가 타나났다. 

아직도 자바 버전이 맞추어지지 않았다는 것이데

properties에서

이 부분또한 확인을 해주어야 드디어 오류가 사라지는 것을 알 수 있다.

 

 

------------

2. Library dependency 추가

 

pom.xml

 

자바 버전을 맞추어 주었다면 

mysql connector등 필요한 dependency를 pem.xml에 추가해준다

(MySQL connector, Spring-jdbc, spring-test, MyBatis, MyBatis-Spring)

		<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>8.0.19</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>${org.springframework-version}</version>
			<scope>test</scope>
		</dependency>


		<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.4.6</version>
		</dependency>


		<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>1.3.2</version>
		</dependency>

 

--------

3. web.xml : UTF-8 encoding filter 추가

 

web.xml

한국어 사용이 가능하게 filter를 넣어준다

<filter> 
	    <filter-name>encodingFilter</filter-name> 
	    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
	    <init-param> 
	       <param-name>encoding</param-name> 
	       <param-value>UTF-8</param-value> 
	    </init-param> 
	    <init-param> 
	       <param-name>forceEncoding</param-name> 
	       <param-value>true</param-value> 
	    </init-param> 
	 </filter> 
	 <filter-mapping> 
	    <filter-name>encodingFilter</filter-name> 
	    <url-pattern>/*</url-pattern> 
	 </filter-mapping>

 

 

---------

4. root-context.xml 파일에 data source, SqlSessionFactory, SqlSession bean을 등록

 

root-context.xml

mysql db를 연결하기 위한 정보들을 넣어준다.

 

<bean name="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<property name="url" value="jdbc:mysql:(db 주소를 넣어준다. )" />
		<property name="username" value="wirte id " />
		<property name="password" value="wirte password" />
	</bean>
	
	<!--  my Batis 연결 -->
	
	<bean id = "sqlSessionFactory" class = "org.mybatis.spring.SqlSessionFactoryBean">
		<property name = "dataSource" ref = "dataSource"></property>
		<property name = "configLocation"  value = "classpath:mybatis-config.xml"></property>
		<property name = "mapperLocations" value = "classpath:mappers/*-mapper.xml"></property>
	</bean>
	
	<bean id = "sqlSession" class = "org.mybatis.spring.SqlSessionTemplate" destroy-method = "clearCache">
		<constructor-arg name = "sqlSessionFactory" ref = "sqlSessionFactory"/>
	</bean>