Recent Posts
Recent Comments
Link
06-28 00:01
Today
Total
관리 메뉴

삶 가운데 남긴 기록 AACII.TISTORY.COM

JSTL SQL 본문

DEV&OPS/Java

JSTL SQL

ALEPH.GEM 2022. 7. 20. 16:54

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 는 아래 게시글에서 설정했던 데이터 소스입니다.

https://aacii.tistory.com/258

 

JDBC 프로그래밍

서버 설치 및 세팅 CentOS 7 설치 CentOS 설치 vmware 가상 머신 생성 CentOS 소개 실무에서 많이 쓰는 리눅스 중에서 red hat 리눅스가 있습니다. 그 red hat 리눅스와 사실상 동일하다고 할수 있는 CentOS 운

blog.aacii.net

<%@ 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>

 

 

 

 

 

 

 

 

 

728x90

'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