dao.xml 파일 내에 #을 쓰는 경우 SELECT TIME FROM SUMMARY_1HOUR WHERE 1=1 AND TIME >= #{ queryMap.startDate } AND TIME < #{ queryMap.endDate } ... #{ value }에는 bind된 값(value)이 들어가게 됩니다. parameter가 String 형태로 들어와 자동적으로 'parameter' 형태가 됩니다. 내부적으로는, preparedStatement 객체에서 #{ value }에 들어갈 파라미터 값을 set 하여 사용됩니다. 즉, DB에서 변수를 bind하여 #{ value } 값이 달라져도 동일한 쿼리로 인식하게 됩니다(쿼리의 컴파일된 내용 재사용 가능). 쿼리 주입을 예방할 수 있어 보안 측면에서 ..
PROGRAMMING LANGUAGE/JAVA
JVM JVM은 자바 가상머신(Java Virtual Machine)의 약자입니다. JVM은 자바 소스코드로부터 만들어지는 자바 바이너리 파일(.class)을 실행할 수 있습니다. 또한, JVM은 플랫폼에 의존적입니다. 즉, 리눅스의 JVM과 windows의 JVM은 다릅니다. 단, 컴파일된 바이너리 코드는 어떤 JVM에서도 동작시킬 수 있습니다. JVM의 역할 - 바이너리 코드 읽기 - 바이너리 코드 검증 - 바이너리 코드 실행 - 실행환경(Runtime Environment)의 규격 제공(필요한 라이브러리 및 기타 파일) JRE JRE는 자바 실행환경(Java Runtime Environment)의 약자입니다. JRE는 JVM이 자바 프로그램을 동작시킬 때 필요한 라이브러리 파일들과 기타 파일들을 가..
https://www.oracle.com/technetwork/java/java-se-support-roadmap.html Oracle Java SE Support Roadmap (Updated April 15, 2019) Oracle provides this Oracle Java SE Support Roadmap, to help you understand maintenance and support options and related timelines. If you are looking for the latest free JDK release from Oracle under an open source license, please www.oracle.com Oracle Java SE 지원 로드맵과 관련된 ..