본문 바로가기

Programming/온라인 전시회

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

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>

'Programming > 온라인 전시회' 카테고리의 다른 글

해운전 프런트엔드 웹사이트 설계  (0) 2021.03.14
Spring 백앤드 설계  (0) 2021.02.11
Mysql DB  (0) 2021.02.11
Spring을 이용한 웹사이트 제작 - 1  (0) 2021.02.11
21년도 개인전시회 웹페이지 구축  (0) 2021.02.10