본문 바로가기
개발/JAVA

[Mybatis] Application Server의 Connection Pool 이용하기

by 상용최 2020. 12. 26.
반응형

회사에서 기존 Persistence Framework는 아래와 같은 문제점이 존재하였다.

  • 어떠한 쿼리가 현재 작성되어 있는지 관리가 전혀 되지않음 
  • 파라미터 바인딩이 어려움
  • Dynamic Query를 작성하기 어려움
  • Dynamic Query를 작성하려면 비즈니스로직에 작성해야함 -> 유지보수가 힘들어짐

그렇기에 팀장님께 Persistence Framework 교체를 건의했으며 후보는 아래와 같았다.

  • hibernate
  • Mybatis

hibernate로 이관을 하려면 러닝커브가 존재했으므로 보류되었고 비교적 바로적용할 수 있는 Mybatis가 채택되었다.

현재 회사의 설정에는 Application Server의 Connection Pool을 Applictaion이 당겨다가 쓰는방식으로 되어있었다.

그렇기에 Mybatis도 동일한 방식으로 가져가야 예상하지 못한 이슈가 없을거라는 판단하에 Application Server의 Connection Pool을 가져다가 쓰기로 결정했다.

 

방법은 간단하다. 

JNDI 방식으로 DataSource를 설정하면 된다. 

방법은 아래와같다.

dataSource type을 JNDI로 설정하고 property value를 tomcat에서 설정한 name으로 설정해주면 된다.

 

MybatisConfiguraion.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>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="JNDI">
                <property name="data_source" value="java:comp/env/name"/>
            </dataSource>
        </environment>
    </environments>
</configuration>

Tomcat/conf/context.xml

<Resource name="name" auth="Container"
    driverClassName="driver"
    type="javax.sql.DataSource"
    url="database URL"
    username="username"
    password="password"
/>

 

반응형

댓글