삶 가운데 남긴 기록 AACII.TISTORY.COM
JSTL SQL 본문
JSTL SQL 태그는 많이 사용하지는 않지만 알아두도록 합시다.
SQL 기본 액션
<sql:setDataSource> : 커넥션 풀 DataSource를 생성하는 태그입니다.
var: DataSource 의 설정값을 저장하는 변수의 이름을 지정합니다.
dataSource : JNDI 서버에 등록하는 리소스 이름을 지정합니다.
scope : 변수의 유효범위를 지정합니다.
driver : 로딩할 JDBC 드라이버 정보를 지정합니다.
url : 접속할 DB서버의 URL을 지정합니다.
userName : DB서버에 로그인할 ID를 지정합니다.
password : DB서버에 로그인할 패스워드를 지정합니다.
<sql:query> : select 문을 수행하기 위한 태그입니다.
sql : 실행할 sql문을 지정합니다.
var : select 한 결과값을 ResultSet 객체에 할당할 변수를 지정합니다.
scope : 변수의 유효범위
dataSource : JNDI 를 통해 사용할 데이터소스의 리소스 이름을 지정합니다.
maxRows : select한 결과값의 최대 행 개수를 지정합니다.
startRow : select 한 결과에 포함할 시작 행 번호를 지정합니다.
트랜잭션 액션
<sql:update> : select 문을 제외한 DML SQL 쿼리를 실행할 때 사용하는 쿼리입니다.
sql: 실행할 sql문을 지정합니다.
dataSource : 사용할 데이터소스의 이름을 지정합니다.
var : SQL문을 실행 후 결과값을 저장할 변수를 지정합니다.
scope : 번수의 사용범위를 지정합니다.
<sql:transaction> : 트랜잭션을 구현할 때 사용하는 태그입니다.
dataSource : DB작업을 할 데이터소스를 지정합니다.
isolation : read_committed, read_uncommitted, repeatabel_read, serializable 을 지정합니다.
parameter 액션
<sql:param> : SQL 에 사용할 파라미터를 지정하는 태그입니다.
<sql:dateParam> : SQL에 사용할 날짜 파라미터를 지정하는 태그입니다.
/jstl 폴더에 ex5.jsp 를 작성합니다.
여기서 dataSource 는 아래 게시글에서 설정했던 데이터 소스입니다.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<sql:query var="rs" dataSource="jdbc/myoracle">
select sabun, name from TABLE_1
</sql:query>
<table border="1">
<tr>
<c:forEach var="columnName" items="${rs.columnNames}">
<th><c:out value="${columnName}" /></th>
</c:forEach>
</tr>
<c:forEach var="row" items="${rs.rows}">
<tr>
<td><c:out value="${row.sabun}" /></td>
<td><c:out value="${row.name}" /></td>
</tr>
</c:forEach>
</table>
/jstl 폴더에 ex16.jsp 를 작성합니다.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.io.*, java.util.*, java.sql.*" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<sql:setDataSource var="myoracle2" driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@192.168.1.6:1521:orcl" user="aacii" password="aacii" />
<sql:transaction dataSource="${myoracle2}">
<sql:update>
insert into TABLE_1(sabun, name) values('4321','admin')
</sql:update>
<sql:update>
update TABLE_1 set name='new' where sabun='1234'
</sql:update>
</sql:transaction>
<sql:query dataSource="${myoracle2}" var="result" >
select sabun, name from TABLE_1
</sql:query>
<table border="1">
<tr>
<c:forEach var="columnName" items="${result.columnNames}">
<th><c:out value="${columnName}" /></th>
</c:forEach>
</tr>
<c:forEach var="row" items="${result.rows}">
<tr>
<td><c:out value="${row.sabun}" /></td>
<td><c:out value="${row.name}" /></td>
</tr>
</c:forEach>
</table>
'DEV&OPS > Java' 카테고리의 다른 글
CRUD (0) | 2022.07.26 |
---|---|
MVC 패턴 (0) | 2022.07.21 |
JSTL Formatting (0) | 2022.07.20 |
JSTL Core (0) | 2022.07.08 |
태그 기반 커스텀 태그 (0) | 2022.07.06 |