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 11:29:31
작성자:
제목:Spring JDBC - 4.Primary Key 생성 기능


spring JDBC에서는 Object에서는 Oracle 데이터베이스의 SEQUENCE와 같은 생성 기능을 지원하고 있다. 이때 프로젝트에서 사용하고 있는 데이터베이스의 종류에 따라 다른 방식으로 Primary Key 생성 기능을 제공하고 있다. Oracle데이터베이스와 같이 SEQUENCE를 사용하는 경우에는 SEQUENCE를 이용하며, 그렇지 않은 경우에는 별도의 테이블을 통하여 SEQUENCE와 같은 역할을 하도록 구현하는 것이 가능하다.

 

[예제4-13]applicationContext.xml

<beans>
 <bean id="boardIncrementer" class="org.springframework.jdbc.support.incrementer.MySQLMaxValueIncrementer">
  <property name="dataSource" ref="dataSource" />
  <property name="incrementerName" value="BOARDSEQUENCE" />
  <property name="columnName" value="VALUE" />
 </bean>

 

 <bean id="boardFileIncrementer" class="org.springframework.jdbc.support.incrementer.MySQLMaxValueIncrementer">
  <property name="dataSource" ref="dataSource" />
  <property name="incrementerName" value="BOARDFILESEQUENCE" />
  <property name="columnName" value="VALUE" />
 </bean>


 <bean id="boardDAOTarget" parent="myJdbcDaoSupport" class="net.javajigi.board.dao.springJDBCWithTemplateBoardDAO">
  <property name="incrementer">
   <ref local="boardIncrementer" />
  </property>
 </bean>

 

 <bean id="boardFileDAOTarget" parent="myJdbcDaoSupport" class="net.javajigi.board.dao.springJDBCWithMSBoardFileDAO">
  <property name="incrementer">
   <ref local="boardFileIncrementer" />
  </property>
 </bean>

 

... 중간 생략 ...

 

</beans>

 

[예제4-14]springJDBCWithMSBoardDAO.java

 

package net.javajigi.board.dao;

 

public class springJDBCWithMSBoardDAO extends MyJdbcDaoSupport implements
        BoardDAO {

 

    public Board insert(Board board) throws DataAccessException {
        int boardNo = getIncrementer().nextIntValue();
        board.setBoardNo(boardNo);

        Object[] values = { new Integer(boardNo), board.getTitle(),
                board.getName(), board.getEmail(), board.getPassword(),
                board.getCreateDate(), board.getContent() };
        insert.update(values);

        return board;
    }

}

 

org.springframework.jdbc.support.incrementer 패키지를 보면 MySQL 데이터베이스뿐만 아니라 다른 데이터베이스를 지원하기 위한 클래스들을 확인할 수 있다.