티스토리 뷰

It

Springi Batis 7-5 Dynamic SQL

aoappa 2022. 10. 26. 22:15

(구글 나라별 추천검색어가 다릅니다 - find 를 검색해보았더니..)

 

호주구글 영국구글 우회접속 주소(나라별 구글 우회 바로가기 링크 2023) - 일체유심조

구글 우회접속 주소 에 대해 공유드리기 전에

wgmakeit.com

 

컴퓨터 구조의 발전 과정 - 일체유심조

우선 주요 부품들의 발전 과정에 대해 알아보겠습니다.초기 컴퓨터들의 근본적인 설계 개념과 동작 원리가 현대의 컴퓨터들과 거의 같은데요, 최초의 컴퓨터는 Blaise Pascal이 개발한 덧셈과 뺄셈

wgmakeit.com

Springi Batis 7-5 Dynamic SQL

Dynamic SQL 이란?

SQL의 재사용성과 유연성을 향상시키기 위해 매핑 구문 내에서 사용할 수있는 동적 SQL 요소들을 제공함.

SQL 매핑
<select id="getUser" parameterClass="com.multicampus.biz.vo.UserVO"
resultMap="userResultMap">
SELECT * FROM USERS
<dynamic prepend="WHERE">
<isNotNull property="id">
ID=#id#
</isNotNull>
</dynamic>
ORDER BY ID
</select>
Java 코드
UserVO searchVO = new UserVO();
searchVO.setId("test");
List userList = sqlMap.queryForList("searchUser", searchVO);
for(UserVO user : userLIst){
System.out.println(user);
}

id값이 null이 아니면 WHERE 절이 삽입됨.

동적 요소들

분류
요소
속성
<dynamic> 요소
<dynamic>
prepend
open
close
이항연산 요소들
<isEqual>
<isNotEqual>
<isGreaterThan>
<isGreaterEqual>
<isLessThan>
<isLessEqual>
property
prepend
open
close
removeFirstPrepend
compareProperty
compareValue
단항연산 요소들
<isPropertyAvailable>
<isNotPropertyAvailable>
<isNull>
<isNotNull>
<isEmpty>
<isNotEmpty>
property
prepend
open
close
removeFirstPrepend
파라미터 요소들
<isParameterPresent>
<isNotParameterPresent>
prepend
open
close
removeFirstPrepend
<iterator> 요소
<iterator>
property
prepend
open
close
conjunction
removeFirstPrepend

이항 연산 요소들

요소
설명
<isEqual>
프로퍼티 속성값이 compareProperty 값이나 compareValue 값과 같은지 검사
<isNotEqual>
프로퍼티 속성값이 compareProperty 값이나 compareValue 값과 같지 않은지 검사
<isGreaterThan>
프로퍼티 속성값이 compareProperty 값이나 compareValue 값보다 큰 지 검사
<isGreaterEqual>
프로퍼티 속성값이 compareProperty 값이나 compareValue 값보다 크거나 같은 지 검사
<isLessThan>
프로퍼티 속성값이 compareProperty 값이나 compareValue 값보다 작은 지 검사
<isLessEqual>
프로퍼티 속성값이 compareProperty 값이나 compareValue 값보다 작거나 같은 지 검사

이항 연산요소에서의 속성들

속성
필수 여부
설명
property
필수
compareValue나 compareProperty와 비교하는데 사용할 파라미터 프로퍼티이다.
prepend
(선택적)
해당 속성에 정의된 값을 요소 내용의 가장 앞에 붙이기 위해 사용한다.
open
(선택적)
요소 내용에 접두사로 붙이기 위해 사용하며 요소 내용이 공백일 때는 출력되지 않는다.
close
(선택적)
요소 내용의 접미사로 붙이기 위해 사용하며 마찬가지로 요소 내용이 공백이라면 출력되지 않는다.
removeFirstPrepend
(선택적)
자식 태그가 prepend 속성을 가지고 있을 경우 맨 처음 나오는 자식 태그의 prepend 속성 값을 출력할지 여부를 결정한다.
compareProperty
(선택적 -compareValue가 없다면 필수)
property 속성에 정의한 프로퍼티와 비교할 파라미터 프로퍼티를 정의한다.
compareValue
(선택적 -compareProperty가 없다면 필수)
property 속성에 정의한 프로터피와 비교할 정적인 비교값을 정의한다.

간단 예제

<select id="getUserListByAge" resultMap="userResultMap"

parameterClass="com.multicampus.biz.user.vo.UserVO" >

SELECT * FROM USERS

<dynamic prepend="WHERE">

<isGreaterEqual property="age" compareValue="19">

AGE >= 19

</isGreaterEqual>

<isLessEqual property="age" compareValue="19">

AGE < 19

</isLessEqual>

</dynamic>

</select>

age가 19 이상이라면

SELECT * FROM USERS WHERE AGE >= 19

age가 19 미만이라면

SELECT * FROM USERS WHERE AGE < 19

단항 연산 요소들

요소
설명
<isPropertyAvailable>
빈즈에서는 프로퍼티를 찾고 Map에서는 키를 찾아 해당 프로퍼티가 파라미터에 존재하는지 체크한다.
<isNotPropertyAvailable>
빈즈에서는 프로퍼티를 찾고 Map에서는 키를 찾아 해당 프로퍼티가 파라미터에 존재하지 않는지 체크한다.
<isNull>
빈즈에서는 프로퍼티를 찾고 Map에서는 키를 찾아 해당 프로퍼티가 null 인지 체크한다
<isNotNull>
빈즈에서는 프로퍼티를 찾고 Map에서는 키를 찾아 해당 프로퍼티가 null 이 아닌지 체크한다
<isEmpty>
Collection, 문자열 또는 String.valueOf() 프로퍼티가 null 이거나 empty 인지 체크한다.

<select id="getUserListByName" resultMap="userResultMap"

parameterClass="com.multicampus.biz.user.vo.UserVO" >

SELECT * FROM USERS

<dynamic prepend="WHERE">

<isNotEmpty property="name">

NAME LIKE '%' || #name# || '%'

</isNotEmpty>

</dynamic>

</select>

'It' 카테고리의 다른 글

재생에너지, 비재생에너지(화석연료, 석탄,석유,천연가스)  (0) 2022.11.07
기억장치 시스템의 특성들  (0) 2022.11.05
Linux(CentOS) Sudo  (0) 2022.10.24
자바 인터페이스  (0) 2022.10.22
중첩클래스 이너클래스  (0) 2022.10.22

(구글 나라별 추천검색어가 다릅니다 - find 를 검색해보았더니..)

 

호주구글 영국구글 우회접속 주소(나라별 구글 우회 바로가기 링크 2023) - 일체유심조

구글 우회접속 주소 에 대해 공유드리기 전에

wgmakeit.com

 

소프트웨어(S/W) 개발과정 5단계를 알아보자(요구사항 분석부터 유지보수까지) - 일체유심조

프트웨어(S/W) 개발은 복잡한 과정을 거쳐 사용자의 요구를 충족시키는 프로그램을 만들어내는 작업입니다. 실제로 개발자들도 이 개념들을 제대로 알고 개발하는것과, 무작정 개발하는 것은 시

wgmakeit.com

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
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
글 보관함