자바스토리

MYBATIS

블루다컴 2013. 12. 20. 12:01

1.MYBATIS 가이드 페이지 - http://mybatis.github.io/guice/index.html

2.MYBATIS 메뉴얼

MyBatis-3-User-Guide_ko.pdf


SPRING MYBATIS 관련 DATASOURCE 설정 

1.디폴트 설정

<bean id ="dataSource" class="org.apache.ibatis.datasource.pooled.PooledDataSource" >
     <property name ="driver" value= "core.log.jdbc.driver.MysqlDriver"></property >
     <property name ="url" value= "" ></property >
     <property name ="username" value=""></property>
     <property name ="password" value= ""></property >
</bean >
 

2.교착상태 문제 해결을 위한 수정 com.jolbox.bonecp.BoneCPDataSource

 # 기본제공 설정

<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource"
            lazy-init="true" destroy-method="close">
    .....
    <property name="idleConnectionTestPeriodInMinutes" value="1"/>
    <property name="idleMaxAgeInMinutes" value="4"/>
    <property name="maxConnectionsPerPartition" value="60"/>
    <property name="minConnectionsPerPartition" value="1"/>
    <property name="partitionCount" value="3"/>
    <property name="acquireIncrement" value="3"/>
    <property name="statementsCacheSize" value="50"/>
    <property name="releaseHelperThreads" value="3"/>
</bean>

 #개발시 튜닝 설정

<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource"
            lazy-init="true" destroy-method="close">
    .....
    <property name="idleConnectionTestPeriodInMinutes" value="1"/>
    <property name="idleMaxAgeInMinutes" value="4"/>
    <property name="maxConnectionsPerPartition" value="30"/>
    <property name="minConnectionsPerPartition" value="1"/>
    <property name="poolAvailabilityThreshold" value="5"/> 
    <property name="partitionCount" value="1"/>
    <property name="acquireIncrement" value="3"/>
    <property name="statementsCacheSize" value="50"/>
    <property name="releaseHelperThreads" value="3"/>
    <property name="connectionTestStatement" value="SELECT 1"/>
    <property name="lazyInit" value="true"/>
</bean>

 #property설명

  • idleConnectionTestPeriodInMinutes : 대기 커넥션 테스트 시간 분단위
  • idleMaxAgeInMinutes : 대기 커넥션 최대 대기 시간 분단위
  • maxConnectionsPerPartition : 파티션당 최대 커넥션 수
  • minConnectionsPerPartition : 파티션당 최소 커넥션 수
  • poolAvailabilityThreshold :
  • partitionCount - 커넥션이 생성 될때 커넥션 경합을 감소 시키기 위해서 파티션을 나눈다. 생성할 파티션의 갯수
  • acquireIncrement - 커넥션 증가 단위 갯수
  • statementsCacheSize - 캐쉬 사이즈
  • releaseHelperThreads - 
  • connectionTestStatement - 커넥션 테스트 쿼리