알쓸전컴(알아두면 쓸모있는 전자 컴퓨터)

spring oracle db + mybatis +log4jdbc 연결 본문

Web /Spring Framework tip

spring oracle db + mybatis +log4jdbc 연결

백곳 2018. 4. 7. 16:23

spring oracle db 연결 


spring 프레임 워크에서 


oracle db 접속 방법입니다. 


먼저 라이브러리 설정을 해야 합니다. 



    <properties>
        <java-version>1.6</java-version>
        <org.springframework-version>3.1.1.RELEASE</org.springframework-version>
        <org.aspectj-version>1.6.10</org.aspectj-version>
        <org.slf4j-version>1.6.6</org.slf4j-version>
        <project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>utf-8</project.reporting.outputEncoding>
    </properties>
    
    <repositories>
    <repository>
<id>codelds</id>
<url>https://code.lds.org/nexus/content/groups/main-repo</url>
     </repository>
    </repositories>
    


    <dependencies>
        <!-- Spring -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${org.springframework-version}</ve

....
....
....
....



    <repositories>
    <repository>
<id>codelds</id>
<url>https://code.lds.org/nexus/content/groups/main-repo</url>
     </repository>
    </repositories>





부분을     </properties> 와 <dependencies> 태그 사이에 입력해 줍니다.



그리고 DB이용 개발을 할때는 DB 로그가 무척 도움이 많이 되기 때문에 


log4jdbc 도 연결 하겠습니다. 


그러기 위해서 


log4jdbc 도 라이브러리를 추가 해줍니다.


        <!-- Logging -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${org.slf4j-version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>${org.slf4j-version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${org.slf4j-version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.15</version>
            <exclusions>
                <exclusion>
                    <groupId>javax.mail</groupId>
                    <artifactId>mail</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.jms</groupId>
                    <artifactId>jms</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.sun.jdmk</groupId>
                    <artifactId>jmxtools</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.sun.jmx</groupId>
                    <artifactId>jmxri</artifactId>
                </exclusion>
            </exclusions>
            <scope>runtime</scope>
        </dependency>

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


<dependencies> </dependencies> 태그 안에 넣어 줍으로서 maven 이 자동으로 라이브러리를 설치 합니다.


그리고 역시나 <dependencies> </dependencies> 안에 com.oracle 라이브러리를 추가 해줍니다.


        <!-- ojdbc6 db -->
        
        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.2.0.3</version>
        </dependency>



그리고 나서 


mybatis 는 

        <!-- MyBatis 3.4.1 -->
        <!-- 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>



다음과 같이 추가 해줍니다 .


그다음 


src>>webapp>>WEB-INF>>spring>>root-context.xml 


을 열어서 


<!-- fdc -->
<bean id="dataSource_fdc" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
     <property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"></property>
     <property name="url" value="jdbc:log4jdbc:oracle:thin:@localhost:1521:XE">
     </property>
     <property name="username" value="ID"></property>
     <property name="password" value="PASSWROD"></property>
    </bean>
    
    <!-- mybatis SqlSessionFactoryBean -->
<bean id="sqlSessionFactory_fdc" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource_fdc"></property>
<property name="configLocation" value="classpath:/mybatis-config.xml"></property>
<property name="mapperLocations" value="classpath:mappers/**/*Mapper.xml"></property>
</bean>
 <!-- mybatis -->
<bean id="sqlSession_fdc" class="org.mybatis.spring.SqlSessionTemplate"
destroy-method="clearCache">
<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory_fdc"></constructor-arg>
</bean>


위와 같이 빈을 만들어 줍니다. 


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


 mybatis 설정 부분 입니다. 


실제로 사용을 할때에는 


@Resource(name = "sqlSession_fdc")

private SqlSession sqlSession_fdc;



위와 같이 설정 해서 사용 합니다.

Comments