티스토리 뷰
[jsp11강] JSTL SQL 태그 사용법
이번글에서는 JSTL 에서 SQL 태그에 대해서 알아보겠습니다.
우선 강의에 들어가기전..
JSTL 무엇인지 모르거나.. 태그의종류 및 라이브러리 설정법이 모르시면..
아래링크를 참조해주세요!
이전 글 링크
2018/10/06 - [Programming/JSP, JSTL] - [jsp6강] EL 태그
2018/10/12 - [Programming/JSP, JSTL] - [jsp7강] JSTL 태그 종류
2018/10/14 - [Programming/JSP, JSTL] - [jsp8강] JSTL 사용법 (JSTL 라이브러리 추가방법, JSTL 선언)
2018/10/15 - [Programming/JSP, JSTL] - [jsp9강] JSTL CORE 태그 사용법
2018/10/16 - [Programming/JSP, JSTL] - [jsp10강] JSTL FORMATTING 태그 사용법
JSTL 에서 SQL 태그는 솔찍히 안쓰입니다.
대체되는것들이 워낙에나 많이 있습니다.
웹개발을 한다면..
MVC 패턴으로 개발은 진행하시거나..
스프링 프레임웍 또는 전자정부프레임웍에서 개발을 진행하시면..
iBatis와 MyBatis 를 사용하기에.. jsp 페이지에서 jstl sql 태그를 사용할 일이 없습니다.
그러나 안쓰는 기능이라도 존재하는 기능이기에 한번을 알아볼 필요는 있다고 생각합니다.
그럼 jstl sql 태그에 대해서 알아보겠습니다.
1. setDataSource (데이터베이스 연결)
1. <sql:setDataSource> 태그
데이터 베이스를 지정 및 연결하는 태그입니다.
데이터 베이스를 사용할때 가장 먼저하는것이 바로 데이터 베이스 연결입니다.
JDBC 드라이버부터 시작하여 url, user, pass 등등 설정합니다.
문법은 요렇게 쓰시면 됩니다.
사용 문법
<sql:setDataSource {dataSource="dataSource" | url ="jdbcUrl" driver="driverClassName" user="userName" password="password"} var="varName" scope="{page|request|session|application}"/>
url 속성 : JDBC url
dataSource 속성 : 컨텍스트에 JNDI 설정 시 리소스 네임
driver 속성 : JDBC driver
user 속성 : 데이터베이스 사용자 계정
password 속성 : 사용자 패스워드
var 속성 : 변수에 데이터소스의 스펙 저장
scope 속성 : var의 scope 지정
2. query, udate, param, dataParam (쿼리)
2. <sql:query>, <sql:udate>, <sql:param>, <sql:dataParam> 태그
<sql:query>, <sql:udate> 태그는 태그명칭만 봐도 무엇을 하는지 알수있습니다.
바로 쿼리를 실행하는 기능을 갖은 태그입니다.
<sql:query> 태그는 쉽게 생각하시면 select 문에 사용을 하고... (ResultSet)
<sql:udate> 태그는 DDL 언어를 사용하는 insert, update, delete 문에 사용합니다. (DML의 crete, drop, alter 도 사용가능합니다.)
그럼 <sql:param>, <sql:dataParam> 태그 는 무엇일까요?
쿼리를 실행한때 조건이 있다면 조건에 값을 넣어주기위해 사용하는 태그입니다.
예를들어
select * from user where name=?
요런 쿼리가 있다면.. 물음표의 부분에 값을 대입시켜주는것이죠.
근대왜 두종류인 <sql:param>, <sql:dataParam> 이 있는것일까요?
그건.. 데이터 타입때문입니다.
<sql:param> 은 문자(string) 타입이고..
<sql:dataParam> 은 날짜(date) 타입 입니다.
문법은 요렇게 쓰시면 됩니다.
사용 문법
<sql:query> 3가지 사용법
<sql:qeury sql="sqlQuery" var="varName" scope="{page|request|session|application}" dataSource="dataSource" maxRows="maxRows" startRow="startRow" />
또는
<sql:query sql="sqlQuery" var="varName" scope="{page|request|session|application}" dataSource="dataSource" maxRows="maxRows" startRow\"startRow">
<sql:param> 태그들
</sql:query>
또는
<sql:query var="varName" scope="{page|request|session|application}" dataSource="dataSource" maxRows="maxRows" startRow="startRow">
SQL 쿼리 문장
<sql:param> 태그들
</sql:query>
sql 속성 : SQL 쿼리 문장
var 속성 : 쿼리의 결과를 저장
scope 속성 : var의 scope 지정
dataSource 속성 : JNDI의 리소스 네임 또는 DriverManager를 위한 파라미터
maxRows 속성 : 쿼리의 결과에 포함될 최대 행의 수
startRow 속성 : 쿼리의 결과에 포함될 시작 행 번호로 0부터 시작한다.
<sql:update> 3가지 사용법
<sql:update sql="sqlUpdate" dataSource="dataSource" var="varName" scope="{page|request|session|application}"/>
또는
<sql:update sql="sqlUpdate" dataSource="dataSource" var="varName" scope="{page|request|session|application}">
<sql:param> 태그들
</sql:update>
또는
<sql:update dateSource="dataSource" var="varName" scope="{page|request|session|application}">
SQL 쿼리 문장
<sql:param> 태그들
</sql:update>
sql 속성 : SQL 쿼리 문장
var 속성 : 쿼리의 결과를 저장
scope 속성 : var의 scope 지정
dataSource 속성 : JNDI의 리소스 네임 또는 DriverManager를 위한 파라미터
<sql:param>
<sql:param value="value"/>
value 속성 : 파리미터의 값을 지정한다.
<sql:dateParam>
<sql:dateParam value="value" type="{timestamp|time|date}"/>
value 속성 : 파리미터의 값을 지정한다.
type 속성 : timestamp, time, date 중 하나를 기술한다.
3. transaction (트랜잭션)
3. <sql:transaction> 태그
트랜잭션을 구현할때 사용하는 태그입니다.
사용 문법
<sql:transaction dataSource="dataSource" isolation="isolationLevel">
<sql:query> 태그
<sql:update> 태그
....
</sql:transaction>
dataSource 속성 : JNDI의 리소스 네임 또는 DriverManager를 위한 파라미터
isolation 속성 : 격리 수준(isolationLevel) 값을 넣는데, java.sql.Connection의 setTransactionIsolation() 메소드를 사용한다. "read_committed", "read_uncommitted", "repeatable_read", "serializable"중 하나를 사용한다.
글을 마치며..
이번글에서는 JSTL SQL 태그에 대해서 알아보았습니다.
현 시점에서 사용도가 많이 떨어지지만...
어디까지 지원해주나? 라는 호기심은 해결될만한 글이라고 생각합니다.
그럼 정리해보겠습니다.
정리
1. JSTL SQL 태그는 사용도가 떨어진다... 이미 대처될만한 좋은 기술들이 많이 있다.
2. 디비연결 및 쿼리실행, 데이터 출력을 할수 있다.
이상으로 JSTL SQL 태그 사용법에 대해서 알아보았습니다.
수고하세요!
도움이 되셨다면 로그인 없이 가능한
아래 하트♥공감 버튼을 꾹 눌러주세요!
'Programming > JSP, JSTL' 카테고리의 다른 글
[jsp13강] JSTL Function 태그 사용법 (0) | 2019.02.04 |
---|---|
[jsp12강] JSTL XML 태그 사용법 (0) | 2019.02.03 |
[jsp10강] JSTL FORMATTING 태그 사용법 (0) | 2018.10.16 |
[jsp9강] JSTL CORE 태그 사용법 (0) | 2018.10.15 |
[jsp8강] JSTL 사용법 (JSTL 라이브러리 추가방법, JSTL 선언) (0) | 2018.10.14 |
- Total
- Today
- Yesterday
- 초대장
- 핸드폰 싼 요금제
- Javascript
- 자바스크립트
- 핸드폰 저렴한 요금제
- JQuery
- 저렴한 요금제
- 알뜰폰 저렴한 요금제
- 0원 요금제
- 티스토리초대장확인
- 별정통신사 저렴한 요금제
- 티스토리 블로그
- 알뜰통신사 저렴한 요금제
- 티스토리
- 별정통신 저렴한 요금제
- 자바
- 핸드폰 만원 미만 요금제
- 티스토리 초대장
- 알뜰통신 저렴한 요금제
- 1000원 요금제
- 알뜰 저렴한 요금제
- 조던
- 티스토리 가입
- 제주도가볼만한곳
- java
- 무실적 체크카드
- 정보처리기사
- 별정 저렴한 요금제
- jsp 태그
- 제이쿼리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |