2 분 소요

시작 전 마지막 셋팅(DB연결, pom.xml, web.xml)

1. DB 설치(MySQL)

MySQL 다운로드

  • 딱히 건들지말고 쭈욱 설치해줌.(Next만 열심히)

image

image

image

image

image

image

  • root 계정에 대한 패스워드이며 까먹지않게 패스워드를 설정해줌.

image

  • Finish 설치완료!

2. pom.xml, web.xml 설정

image

  • 이 부분을 이렇게 변경해줌.

  <properties>
      <java-version>11</java-version>
      <org.springframework-version>5.2.8.RELEASE</org.springframework-version>
      <org.aspectj-version>1.9.6</org.aspectj-version>
      <org.slf4j-version>1.7.25</org.slf4j-version>
  </properties>

image


- MySQL 연결을 위한 JDBC도 pom에 적어줌. (dependencies 안에 적어야함. 위치 잘 보세요.)

	<!--MySQL JDBC -->
	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
		<version>8.0.26</version>
	</dependency>
	
	<!-- Spring JDBC -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-jdbc</artifactId>
		<version>${org.springframework-version}</version>
	</dependency>
	
	<!-- Mybatis Spring -->
	<dependency>
		<groupId>org.mybatis</groupId>
		<artifactId>mybatis-spring</artifactId>
		<version>1.3.2</version>
	</dependency>

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

image

  • junit도 4.7 에서 4.12로 업그레이드 해줌.

    <!-- junit Test -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency> 

DB 연결을 테스트 해보기 전에 dataabase 부터 생성해보자

image

  • 윈도우 + S 를 누른다.
  • MySQL 8.0 Command Line Client를 실행시켜줌.

image

  • 설치할 때 설정한 비밀번호를 입력해줌.

image

  • create database 데이터베이스이름; 하고 엔터를 쳐주면 데이터베이스가 생성됨.
  • 다시 이클립스로 돌아감.(데이터베이스 이름을 기억해두자)
  • 생각이 안난다면 show databases; 를 입력해줌.

image

  • 이곳이 DB정보를 적는 곳임.

image

  • 하단 Namespaces 탭에 aop, beans, context, jdbc, mybatis-spring 을 체크해줌.

image

  • 무언가 잔뜩생겼다. 성공!!

  <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
      <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"></property>
      <property name="url" value="jdbc:mysql://127.0.0.1:3306/데이터베이스 이름?useSSL=false&amp;serverTimezone=UTC"></property>
      <property name="username" value="root"></property>
      <property name="password" value="비밀번호"></property>
  </bean>

  <!-- 여기는 일단 냅두자. -->
  <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
      <property name="dataSource" ref="dataSource"></property>
  </bean>

image

  • 아래처럼 복사해줌.
  • 수정을 해줘야함. 내가 설정한 것에 맞춰서

  <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
      <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"></property>
      <property name="url" value="jdbc:mysql://127.0.0.1:3306/ymtest?useSSL=false&amp;serverTimezone=UTC"></property>
      <property name="username" value="root"></property>
      <property name="password" value="1234"></property>
  </bean>

  • password 와 아까 생성한 데이터베이스 명을 적어줬음.

image

  • 우클릭 > New > Junit Test Case 클릭

image

  • DB가 정말 잘 붙었는지 테스트하기위해 만드는 것임.

package com.ym.song;

import java.sql.Connection;

import javax.inject.Inject;
import javax.sql.DataSource;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "file:src/main/webapp/WEB-INF/spring/**/root-context.xml" })
public class TestDBConnect {

	@Inject
	private DataSource dataSource;
	
	@Test
	public void test() {
		try  
		{
			Connection con = dataSource.getConnection();
			System.out.println("***** 연결정보 : " + con + " *****");
		} 
		catch (Exception e) 
		{
			e.printStackTrace();
		}
	}
}

image

  • 파일 선택 후 우클릭 > Run As > Junit Test 클릭

image

  • 콘솔에 에러없이 정상적으로 출력되면 성공

image


<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee; https://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

	<!-- The definition of the Root Spring Container shared by all Servlets and Filters -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/spring/root-context.xml</param-value>
	</context-param>
	
	<!-- Creates the Spring Container shared by all Servlets and Filters -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

	<!-- Processes application requests -->
	<servlet>
		<servlet-name>appServlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
		
	<servlet-mapping>
		<servlet-name>appServlet</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
	
	<!-- 한글설정 -->
	<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>
	<!-- 한글설정 -->

</web-app>

  • web.xml에 그대로 복사해서 붙여넣어주면 끝!

댓글남기기