Spring MVC + Mybatis CRUD Example

Spring MVC + Mybatis CRUD Example

Spring MVC

Spring MVC와 Mybatis를 사용하여 CRUD를 설정부터 구현하는 과정을 천천히 서술할 예정이다.

  • 여기서 저는 com.java.mb로 생성하였는데 자신이 알아볼 수 있도록 만들면 됩니다. (mb는 mabatis를 저의 임의대로 줄인 것입니다.)

Directory 구조를 보면서 하시는 것이 좋다고 판단하여 가져오게 되었습니다.

Spring MVC Directory

  1. pom.xml 설정
  2. root-context.xml 설정

pom.xml 설정

Spring MVC로 Project를 생성한다면 제일 하단에 pom.xml이 있고 이곳의 pom.xml tab의 영역 안에다가 설정해 준다.

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
<!-- Mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.6</version>
</dependency>

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


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

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

<!-- Spring Test -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${org.springframework-version}</version>
</dependency>

<!-- Mybatis log -->
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4</artifactId>
<version>1.16</version>
</dependency>

이렇게 pom.xml을 설정을 하고 저장을 하면 spring-mvc에서 Library들을 찾아서 다운을 받는다.

root-context.xml

root-context.xml은 Database와 Mybatis를 연결하기 위한 설정들을 한다.

  • namespace tab에서 aop, beans, context, jdbc, mybatis-spring를 체크 해야한다.
  • source tab에다가 아래의 내용을 설정해주면 된다.

beans안의 xmlns는 namespace에서 체크를 해주면 자동으로 생겨난다.

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
<?xml version="1.0" encoding="UTF-8"?>
<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:context="http://www.springframework.org/schema/context"
xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:mybatis-spring="http://mybatis.org/schema/mybatis-spring"
xsi:schemaLocation="http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd
http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring-1.2.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-3.1.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd">

<!-- Root Context: defines shared resources visible to all other web components -->

<!-- Mysql Connection -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"></property>
<!-- local에다가 연결하는 방법이며 3306/ 뒤에는 사용하고자하는 schema의 이름을 입력해줘야한다. -->
<property name="url"
value="jdbc:log4jdbc:mysql://127.0.0.1:3306/springmember?useSSL=false&amp;serverTimezone=UTC">
</property>
<!-- 자신의 DB의 id, pw를 입력하면된다. -->
<property name="username" value="ID"></property>
<property name="password" value="PW"></property>
</bean>

<!-- mybatis SqlSessionFactoryBean -->
<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>

<!-- mybatis -->
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"
destroy-method="clearCache">
<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"></constructor-arg>
</bean>

<!-- bean 등록 이것은 나중에 dao, service를 생성하고 나서 bean에 등록해줄때 사용한다.-->
<context:component-scan base-package="com.java.dao"></context:component-scan>
<context:component-scan base-package="com.java.service"></context:component-scan>

</beans>

Share