열기.
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
- "http://ibatis.apache.org/dtd/sql-map-2.dtd">
- <sqlMap namespace="Board">
select.
- <!-- 게시판 테이블의 데이터를 얻는다. -->
-
<statement id="select_board_001_l" parameterClass="java.util.HashMap"
resultClass="java.util.LinkedHashMap"><![CDATA[
select seq,
title,
u_seq,
rg_dts
from $table_name$
where rownum <= #rownum:NUMERIC:0#
]]></statement>
parameterClass 에 세팅된 HashMap 은 jsp등에서 넘겨진 파라미터를 담고 있는 객체.
resultClass 에 세팅된 LinkedHashMap 은 쿼리의 칼럼 순서대로 넣기 위해 사용하였다. java.util.Map 타입과 비슷한(set, get 있는) 객체를 사용해야 한다.
(하나의 row를 얻을 때는 xml 문자열 데이터를 얻을 수 있다.)
같은 이름의 식별자에 자동 세팅된다.
$식별자$ - 문자열 대체.
#식별자# - 해당 타입으로 대체. ex) #rownum:NUMERIC:0# - rownum은 숫자 타입이고, null 일 경우 0으로 대체된다.
insert.
- <!-- 글을 등록한다. -->
- <insert id="insert_board_001_p" parameterClass="java.util.HashMap"><![CDATA[
- insert into $table_name$
- (
- seq,
- title,
- u_seq,
- rg_dts,
- )
- select /*+ index_desc($table_name$ xpk$table_name$) */
- nvl(seq, 0) + 1,
- #title#,
- (case when (#u_seq:NUMERIC:0# is null or #u_seq:NUMERIC:0# < 1) then nvl(seq, 0) + 1
- else #u_seq:NUMERIC:0#
- end),
- to_char(sysdate, 'yyyymmddhh24miss')
- from $table_name$
- where rownum = 1
- ]]></insert>
seq의 경우 시퀀스 또는 자동증가 칼럼을 이용해야 할 것임.
select where 조건 동적생성.
- //TODO
닫기.
- </sqlMap>
이 글은 스프링노트에서 작성되었습니다.
'Programming' 카테고리의 다른 글
| FCKeditor (7) | 2008/04/03 |
|---|---|
| [펌] oracle dbms utility 관련 구문 (0) | 2008/03/13 |
| ibatis-쿼리xml (0) | 2007/12/05 |
| [펌][html]마우스 스타일 (0) | 2007/07/03 |
| [펌][java]Creating ZIP and JAR Files (4) | 2007/07/02 |
| LoggableStatement 를 이용한 sql 로깅 (0) | 2007/06/18 |
TAG iBATIS
댓글을 달아 주세요