본문 바로가기

분류 전체보기957

MyBatis, 쿼리 파라미터 # 와 $ 의 차이점 마이바티스에서 #, $의 차이는 옵티마이저 동작의 여부이다. select * from testTable where id = #{testId} select * from testTable where id = ${testId} $의 경우 #와는 달리 SQL 인젝션 공격에 취약한 단점이 있지만, 장점은 옵티마이져가 실행되기 때문에 적절한 플랜으로 쿼리가 돌아간다. 예를 들어, EMPLOYEE 테이블에 POSITION 이라는 컬럼에 아래와 같은 데이터가 있다고 가정하자. 사원 900명 대리 500명 로얄패밀리 10명 경영진 2명 테이블에서 '사원'이나 '대리'를 자주 추출할 때에는 Full Scan이 유리하고 상대적으로 적은 '로얄패밀리'나 '경영진'을 추출할 때에는 Index 스캔이 유리하다. 이때 '$'를 사.. 2018. 11. 5.
자바스크립트 대문자 소문자 변환 함수 toUpperCase(), toLowerCase() 대문자로 변환 : toUpperCase() 라는 함수를 사용하면, 영문 알파벳이 모두 대문자로 변환된다. 예) 123456789 var orgStr = "abcDEFghi123한글"; orgStr = orgStr.toUpperCase(); console.log("orgStr = " + orgStr); Colored by Color Scriptercs 결과: 콘솔에 'orgStr = ABCDEFGHI123한글' 이 찍힌다. 소문자로 변환 : toLowerCase() 라는 함수를 사용하면, 영문 알파벳이 모두 소문자로 변환된다. 예) 123456789 var orgStr = "abcdefghi123한글"; orgStr = orgStr.toLowerCase(); console.log("orgStr = " + .. 2018. 11. 5.
JSTL 태그에 class나 stlye에 if 조건문을 사용하는 방법 JSTL을 이용하면 JQuery 없이도 태그나 다른 element를 제어할 수 있다. 예1. div의 배경색을 조건에 따라 파란색이나 빨간색으로 표현하고 싶을 경우. java 컨트롤러 소스 modelMap.put("color", "red"); 웹 페이지 소스 배경을 붉은색으로 결과 페이지 소스 배경을 붉은색으로 예2. div에 조건에 따라 클래스(redBackground)를 부여하는 경우 java 컨트롤러 소스 modelMap.put("addClass", "Y"); 웹 페이지 소스 배경을 붉은색으로 결과 페이지 소스 배경을 붉은색으로 마찬가지로 JSTL에서 제공하는 choose 조건문을 if 대신 사용할 수 있다. 2018. 11. 5.
자바스크립트에서 spring:message에 arguments 사용하는 방법 자바스크립트에서 spring:message 를 사용하는 경우가 있는데이때 argument를 message에 추가하여 동적으로 문구를 사용하기도 한다. 만약 언어 프로퍼티 파일에 아래가 선언되어 있다고 가정하고. home_greet = Hello, {0} !! 아래 처럼 그냥 넣을 경우 Exception 오류가 발생한다. 그래서 우선 spring:message에 arguments를 선언하고arguments에 선언한 코드를 replace하는 방식으로 동적으로 문구를 만들 수 있다. 즉 아래와 동일한 결과가 나오게 된다. 이렇게 하면 동적으로 문구를 생성시킬 수 있다. 2018. 11. 5.
JSTL, 자바스크립트에 JSTL 조건문 사용하는 방법 JSTL 구문은 자바스크립트에서도 활용할 수 있다. ** 다만 서버단에서 실행되는 소스라는 걸 잊지 말자! ** 즉, 스크립트단 조건문으로는 예외 처리를 하더라도 JSTL은 서버단에서 실행되므로 화면이 로딩되기 전에 이미 오류가 발생한다. 예) 아래는 소스는 자바스크립트에서 JSTL 조건문을 사용한 경우이다. 'alertYN'라는 map에 'yes'라는 값이 있는 경우 결과: "제어되니?"라는 alert 창이 뜬다. 2018. 11. 5.
JSTL, formatNumber으로 숫자 parsing JSTL 문법으로 숫자에 콤마를 찍는 등과 같은 파싱하는 방법은 아래와 같다. 예를 들어 ${price} 에 "1000000" 백만이라는 숫자가 있을 때천 단위로 콤마를 찍어주고 싶은 경우 아래와 같이 변경할 수 있다. 가격: 원 위와 같이 선언한 경우 결과는 다음과 같이 찍힐 것이다. 가격: 1,000,000 원 * 참고로 fmt를 사용하기 위해 라이브러리를 상단에 선언해주는걸 잊지말 것. 2018. 11. 5.