티스토리 뷰

Dev/EL & JSTL

JSTL <sql>

Pupustory 2009. 2. 11. 15:22

<sql:setDataSource
 driver    ="expression"
 password  ="expression"
 user      ="expression"
 url       ="expression"
 var       ="expression"
 scope     ="expression"
 dataSource="expression"
/>
JSTL의 sql은 말 그대로 sql을 사용하기 위해 지원하는 테그 라이브러리 이다. 먼저 db를 사용하기 위해선 커넥션이 필요한데 .. 여기선 데이타소스를 통해 db에 접근 한다. 속성부분들이 워낙 많이 알려진 부분이니 넘어가고 .. 데이타소스를 사용하는(scope영역에서)부분은 var로 지정한다. 역시 el을 통해 지정된 var에 접근해 쿼리를 수행 한다.

<sql:query
 dataSource=""
 var=""
 startRow=""
 maxRows=""
 scope=""
 sql=""
/>
기본적인 sql쿼리를 수행하는 부분이다. 이것은 update나 insert부분이 아닌 단순 질의에 대한 부분이다. dateSource는 상단에서 지정한 데이타소스 변수를 적어주고, var엔 수행 후 레코드를 map으로 받게 된다. sql은 쿼리 수행 구문인데 여기에 적거나 아니면 <sql:query> write query </sql> 형식으로 사용 가능하다.



map배열이므로 [0]통해 첫번째에 접근했고, 사용자가 경우에 따라 forEach를 통한 리스트 출력도 가능하다. map형식이므로 접근하는 key는 컬럼명이 된다.

<sql:update dataSource=""
 scope=""
 sql=""
 var=""/>
iBATIS에선 update, insert가 구분되어 있고, 통합적으로 사용하는 statment가 있지만 jstl sql에선 조회를 제외한 모든것은 update에서 처리 된다. 물론 테이블 생성역시 update를 이용 한다.

<sql:transaction
 dataSource=""
 isolation=""
/>
sql수행이므로 당연히 트랜잭션을 지원 한다. 속성도 생각보다 간단하다. isolation는 트랜잭션의 레벨을 의미하는데 .. 구채적으로 사용해보지 않았다. --; (다른 블로그나 정보를 참조하세요 !) dataSource부분은 위와 같은 형식이지만, 트랜잭션에 사용되는 update같은 부분에 별도의 dataSource를 작성하지 않는다. 만약 작성한다면 Illigal을 만나게 된다.

이제 직접 위의 소스를 모두 한번에 확인할 수 있는 소스를 만들어 보겠다.

테이블 생성 -> 로우 삽입 -> 등록 로우 정보 확인 -> 트랜잭션 이용 -> 문제가 발생해 추가삽입부분 무시되고 Exception발생 의 프로세스이다.

사실 sql은 잘 사용할지 의문이다. 물론 외부의 dataSource를 받아와 사용할 수 있다지만 .. 이건 고전적인 방식이므로, 요즘 지겹도록 듣는 MVC에는 맞지 않는듯 하다.

논 외의 얘기지만 .. sql을 보면서 느낀 것 인데 .. (사실 이와 관련 없지만) 초보중의 초보인 필자 생각으론 .. 이것도 어떨때 쓸만할 지도 모른다는 생각을 한다. 예를들어 한 화면에 5만개의 레코드를 출력한다면 .. dao에서 5만개의 bean을 작성해야 할 것이다. 차라리 이런거라면, db에서 가져옴과 동시에 출력하는 방식 어떨까도 싶다.

'Dev > EL & JSTL' 카테고리의 다른 글

JSTL <fmt>  (1) 2009.02.13
JSTL <xml>  (0) 2009.02.12
JSTL <functions>  (0) 2009.02.11
JSTL <sql>  (0) 2009.02.11
JSTL <core>  (0) 2009.02.06
JSTL 처음 시작하기  (0) 2009.02.06
댓글
댓글쓰기 폼
Total
524,813
Today
4
Yesterday
2
«   2020/01   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
글 보관함