spring로 검색한 결과 :: 시소커뮤니티[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

회원가입 I 비밀번호 찾기


SSISO Community검색
SSISO Community메뉴
[카페목록보기]
[블로그등록하기]  
[블로그리스트]  
SSISO Community카페
블로그 카테고리
정치 경제
문화 칼럼
비디오게임 스포츠
핫이슈 TV
포토 온라인게임
PC게임 에뮬게임
라이프 사람들
유머 만화애니
방송 1
1 1
1 1
1 1
1 1
1

spring로 검색한 결과
등록일:2008-06-11 16:01:07
작성자:
제목:SPRING CLOB 처리 예제


어벙이가 하루 고생하여 Insert시 CLOB 처리를 완결하다..ㅋㅋㅋ

두가지 방법이 있는데....두가지 모두 되는데요...bean 설정이 어려운분은 2번 권장.

 

1. applicationContext-xxx.xml 에서 bean 생성 방법


 1.applicatonContext-jdbc.xml bean 선언예제
 <bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.SimpleNativeJdbcExtractor" lazy-init="true"/>

 <bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" lazy-init="true">
  <property name="nativeJdbcExtractor">
   <ref local="nativeJdbcExtractor"/>
  </property>
 </bean>
 
 2.applicatonContext-law.xml bean 선언예제
 
 <bean id="lawServiceTarget" class="kr.go.ccourt.xmlmng.law.service.LawServiceImpl">
  <property name="transactionManager">
   <ref bean="transactionManager" />
  </property>
  <property name="lawDAO">
   <ref local="lawDAO" />
  </property>
  <property name="oracleLobHandler">
   <ref bean="oracleLobHandler" />
  </property>
 </bean>
 
 3.LawServiceImpl setter injection 선언 예제
 public void setOracleLobHandler(OracleLobHandler pm_oOracleLobHandler) {
        this.im_oOracleLobHandler = pm_oOracleLobHandler;
    }
   
    4.LawServiceImpl addLaw 메소드 예제
    public int addLaw(Law pm_oLaw) throws ExistedLawException {
     ..생략
     im_oLawDAO.setOracleLobHandler(im_oOracleLobHandler);
     lm_iResult = im_oLawDAO.insert(pm_oLaw);
     ..생략
    }
   
    5.LawDAOImpl setOracleLobHandler 메소드 예제, LawDAO interface에서 당근 선언해야겠죠..ㅋㅋ
   
    public void setOracleLobHandler(OracleLobHandler pm_oOracleLobHandler) {
        this.im_oOracleLobHandler = pm_oOracleLobHandler;
    }

2. xxxxDAOImpl 에서 직접 생성

 

public class LawDAOImpl extends MyJdbcDaoSupport implements LawDAO {

 private OracleLobHandler im_oOracleLobHandler = null;

 

 public int insert(Law pm_oLaw) throws DataAccessException {

        int lm_iResult = 0;
       
        String sql = getMessageSourceAccessor().getMessage("law.insert.add");
       
        im_oOracleLobHandler = new OracleLobHandler();
        im_oOracleLobHandler.setNativeJdbcExtractor(new SimpleNativeJdbcExtractor());
       
        Object[] values = { 
                pm_oLaw.getLawName(), pm_oLaw.getLawCourtDay(), pm_oLaw.getLawNum(), pm_oLaw.getLawJurisdition(),
                pm_oLaw.getLawType(), pm_oLaw.getLawInfo(), new SqlLobValue(pm_oLaw.getLawContent(), im_oOracleLobHandler),
                pm_oLaw.getSrcType(), pm_oLaw.getInfoType(), pm_oLaw.getSearchKeyword() };

        int [] argTypes = new int [] {
                java.sql.Types.VARCHAR, java.sql.Types.VARCHAR, java.sql.Types.VARCHAR, java.sql.Types.VARCHAR,
                java.sql.Types.VARCHAR, java.sql.Types.VARCHAR, java.sql.Types.CLOB, 
                java.sql.Types.VARCHAR, java.sql.Types.VARCHAR, java.sql.Types.VARCHAR};
       
        lm_iResult = getJdbcTemplate().update(sql, values, argTypes);
       
        return lm_iResult;
    }

}

[출처] spring CLOB 처리 예제|작성자 어벙