JDBC를 통해 mysql에 있는 table의 내용을 지우는 작업을 만들었다.
먼저 custom tasklet을 빈으로 선언
<bean id="jdbcCleanUp"
class="my.mysql.JdbcCleanUp">
<property name="dataSource" ref="dataSource"/>
</bean>
----------------------------------------------------------------------------------------------------------------------
배치 작업을 설정
<batch:job id="cleanUp">
<batch:step id="cleanning">
<batch:tasklet ref="jdbcCleanUp" />
</batch:step>
</batch:job>
----------------------------------------------------------------------------------------------------------------------
custom tasklet을 작성
import org.springframework.batch.core.StepContribution;
import org.springframework.batch.core.scope.context.ChunkContext;
import org.springframework.batch.core.step.tasklet.Tasklet;
import org.springframework.batch.repeat.RepeatStatus;
import org.springframework.jdbc.core.support.JdbcDaoSupport;
public class JdbcCleanUp extends JdbcDaoSupport implements Tasklet{
@Override
public RepeatStatus execute(StepContribution contribution,
ChunkContext chunkContext) throws Exception {
// TODO Auto-generated method stub
delete();
return null;
}
public void delete() {
String[] sql = {"delete from AD_CNT_TB","delete from UNIT_CNT_TB",
"delete from OS_CNT_TB","delete from LOCATION_CNT_TB",
"delete from GENDER_CNT_TB","delete from AGE_CNT_TB"};
getJdbcTemplate().batchUpdate(sql);
}
}
참고:http://www.java2s.com/Code/Java/Spring/UseJdbcTemplateToExecuteDeleteStatementWithParameter.htm
댓글 없음:
댓글 쓰기