티스토리 뷰
(구글 나라별 추천검색어가 다릅니다 - 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