거꾸로 바라본 세상
article thumbnail
반응형

# 사전작업 eclipse에서 Spring Project-> Spring MVC Project 로 프로젝트 생성


1. 프로젝트 우클릭 -> Properties ->JavaCompiler 

   (1) JDK Compliance에서 Use compliance from execution environment .... 체크 해제 후

   (2) compiler compliance leve을 1.8로 변경. 

      왜냐하면 난 JDK 1.8을 사용하고있으니..



2. 프로젝트 우클릭 -> Properties -> Project Facets 

 Java 버전을 1.8로 변경




3. pom.xml 에서 java버전을 바꿔줌

이왕이면 스프링 프레임워크 버전도 맞게 변경. 난 4.2.2를 사용하니.

<properties>

<java-version>1.8</java-version>

<org.springframework-version>4.2.2.RELEASE</org.springframework-version>

<org.aspectj-version>1.6.10</org.aspectj-version>

<org.slf4j-version>1.6.6</org.slf4j-version>

</properties>



4. Mysql드라이버,  Spring-test, Mybatis, Mybatis-spring 네가지 모듈을 설치해야함 

  어디서? Maven을 이용해서. .Pom.xml에 4가지 라이브러리를 입력해주면 되는데 


http://mvnrepository.com/ 에 들어가면서 자신의 버전에 맞는 코드를 긁어오면됨.



pom.xml


<!-- mybatis-spring -->

<dependency>

<groupId>org.mybatis</groupId>

<artifactId>mybatis-spring</artifactId>

<version>1.2.3</version>

</dependency>


<!-- mybatis -->

<dependency>

<groupId>org.mybatis</groupId>

<artifactId>mybatis</artifactId>

<version>3.3.0</version>

</dependency>


<!-- spring jdbc -->

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-jdbc</artifactId>

<version>4.2.3.RELEASE</version>

</dependency>


<!-- mysql -->

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>5.1.37</version>

</dependency>


<!-- spring test-->

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-test</artifactId>

<version>4.1.7.RELEASE</version>

</dependency>



그러면 Maven Dependencies에 보면 jar파일이 생겼을 것이다.



 <4가지 설정한 것 과 버전 변경된 것 확인>


- log4jdbc-log4j2를 이용할 경우 


pom.xml

<!-- log4jdbc -->

<dependency>

<groupId>org.bgee.log4jdbc-log4j2</groupId>

<artifactId>log4jdbc-log4j2-jdbc4</artifactId>

<version>1.16</version>

</dependency>

를 추가해주면된다.


src/main/resources 폴더에 log4jdbc.log4j2.properties 파일과 logback.xml파일을 추가해주면된다.

파일명 : log4jdbc.log4j2.properties


log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator



파일명 logback.xml


<?xml version="1.0" encoding="UTF-8"?>


<configuration>

<include resource="org/springframework/book/logging/logback/base.xml"/>

<logger name="jdbc.sqlonly" level="DEBUG"/>

<logger name="jdbc.audit" level="INFO"/>

<logger name="jdbc.resultset" level="ERROR"/>

<logger name="jdbc.resultsettable" level="ERROR"/>

<logger name="jdbc.connection" level="INFO"/>

</configuration>



5. 이제 mybatis 연동을 해주어야함.

그러기위해선 root-context.xml에서 설정해줘야함

경로 : src->main->WEB-INF-> spring -> root-context.xml


먼저 root-context.xml을 클릭하면 하단에 Namespages를 클릭 후 

캡처화면처럼 체크해주고 저장

체크 항목 aop, beans, context, jdbc, mybatis-spring



그 다음 Source에 들어감


(1). DataSource 설정


<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>

<property name="url" value="jdbc:mysql://localhost:3306/db명"></property>

<property name="username" value="sql아이디"></property>

<property name="password" value="sql패스워드"></property>

</bean>


만약 log4jdbc를 이용하여 할 경우 dirverClassName에서 value 값을 net.sf.log4jdbc.sql.jdbcapi.DriverSpy로 변경하면된다.


<property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"></property>


(2). SqlSessionFactory 객체 설정

- mybatis와 스프링 연동 작업에서 핵심은 Connection을 생성하고 처리하는 SqlSessionFactory는 Sql의 DB연결과 SQL실행의 모든 것 가진 객체임


<bean id="SqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

<property name="dataSource" ref="dataSource"/>

<property name="configLocation" value="classpath:mybatis-config.xml"></property>

<property name="mapperLocations" value="classpath:/mappers/**/*Mapper.xml"></property>

</bean>


- property name에보면 configLocation과 mapperLocation이 있는데 

configLocation은 mybatis-cofing.xml 파일의 경로고

mapperLocation은  mapper의 경로

그러므로 본인이 설정한 경로에 맞게 맞춰주면 될 것이다.

나는 src/main/resources 에 mybatis-config.xml을 넣어줌


mybatis-config.xml 파일


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE configuration

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>


</configuration>



mapper는 

src/main/resources/ 에서 mappers 패키지를 만들어서 넣어줌.

이건 알아서.


mappers/ 안에 있는 exMapper.xml 파일


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE mapper

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="네임스페이스">

</mapper>



(3) SqlSessionTemplate  설정

 - DAO에서 DB의 연결의 맺고 작업이 완료된 후 연결을 하는 작업을 SqlSessionTemplate 클래스를 이용하여 처리

  SqlSessionTemplate는 mybatis의 SqlSession인터페이스로 구현한 클래스로 기본적인 트랜잭션 관리나 쓰레드 처리의 안전성보장과 DB연결과 종료를 책임짐 


<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate" destroy-method="clearCache">

<constructor-arg name="sqlSessionFactory" ref="SqlSessionFactory"></constructor-arg>

</bean>



그럼 다된거.


그리고 테스트를 해보면됨.

반응형
profile

거꾸로 바라본 세상

@란지에。

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!