1. 먼저 필요한 Maven을 설치합니다.
아래의 메이븐저장소에 들어가서
mybatis, mybatis-spring, spring-jdbc, mariadb, hikaricp를 검색하여 maven을 pom.xml dependency에 추가합니다.
예시)
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.3.4.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client -->
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>2.5.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.zaxxer/HikariCP -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>3.4.0</version>
</dependency>
2. webapp/WEB-INF/spring/ 에 있는 root-context.xml에 들어갑니다.
Namespaces에 들어가여 아래와 같이 체크해주고 저장합니다.
3. 다시 root-context에서 Source에 들어가 아래와 같이 입력해줍니다.
<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
<property name="driverClassName"
value="org.mariadb.jdbc.Driver"></property>
<property name="jdbcUrl"
value="jdbc:mariadb://127.0.0.1:3306/spring?useSSL=false&serverTimezone=Asia/Seoul"></property>
<property name="username" value="DB계정입력"></property>
<property name="password" value="DB비밀번호입력"></property>
</bean>
<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource"
destroy-method="close">
<constructor-arg ref="hikariConfig" />
</bean>
<bean id="sqlSessionFactory"
class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="mapperLocations"
value="classpath:mappers/**/*.xml"></property>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="net.test.test.dao" />
</bean>
간단한 설명을하자면 먼저 아래의 xml 코드는 DB커넥션풀을 hikariCP를 사용하고 DB에 연결하겠다는 뜻입니다.
<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
<property name="driverClassName"
value="org.mariadb.jdbc.Driver"></property>
<property name="jdbcUrl"
value="jdbc:mariadb://127.0.0.1:3306/spring?useSSL=false&serverTimezone=Asia/Seoul"></property>
<property name="username" value="DB계정입력"></property>
<property name="password" value="DB비밀번호입력"></property>
</bean>
<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource"
destroy-method="close">
<constructor-arg ref="hikariConfig" />
</bean>
아래의 xml코드는 sqlSession을 연결할 수 있게하며, 데이터베이스 쿼리를 갖고있는 mapper들을 연결시켜주겠다는 의미입니다.(아래에 작성되어있음.)
<bean id="sqlSessionFactory"
class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="mapperLocations"
value="classpath:mappers/**/*.xml"></property>
</bean>
아래는 mapper에 작성되어있는 쿼리들을 불러오는 dao들을 스캔하는 의미입니다. value는 꼭 패키지에 맞춰 쓸 수 있도록 합니다.
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="net.test.test.dao" />
</bean>
4. 아래와 같이 패키지와 controller 및 dao를 작성합니다.
임의로 작성한것입니다. 꼭 이렇게 안하셔도됩니다.
DAO파일은 인터페이스로 생성해야합니다.
5. 이제 쿼리를 작성할 mapper를 생성합니다.
아래의 resources/ 폴더 밑에 mappers와 그 아래 xml 파일을 생성합니다.
xml파일에 아래와 같이입력합니다.
mapper의 namespace는 아까 작성한 TestDAO의 경로와 똑같이 해야합니다.
여기서 DB쿼리들을 작성합니다. DB접속이 잘 되었는지 확인만 하기위해 현재 시간을 나타내주는 쿼리를 작성해봅니다.
6. TestDAO를 열어 아래와 같이 TestMapper.xml에서 작성한 selectNow함수를 작성해줍니다.
그리고는 작성한 controller 에 들어갑니다.(현재 글에는 TestController입니다.)
아래와 같이 작성합니다.
MVC패턴을 이용하는 Spring에서는 아래와같이 controller에서 불러오면 안되는 것은 아니지만 패턴의 규칙이 있기때문에 controller에서 직접 불러오는 것을 추천드리지는 않지만, 테스트목적이라 여기서는 불러서 사용합니다.
이것을 실행하여 localhost:8080/test에 접속하면 db에서 불러온 현재 시간이 console창에 나타나는 것을 볼 수 있습니다.
'Develop > Spring' 카테고리의 다른 글
Spring Security URL login (0) | 2021.01.22 |
---|---|
Spring Tomcat JNDI 설정 (0) | 2020.11.17 |
Spring Security Custom Filter (0) | 2020.11.09 |
Spring security 로그인(DB에 있는 아이디 조회) (0) | 2019.11.02 |
Spring 3 에서 4로 migration (0) | 2019.10.22 |