[MyBatis] Java에서 쿼리문 만들기 [SQL Builder 클래스를 활용한 동적쿼리 작성]
·
▣ Framework/MyBatis🐣
- Java에서 쿼리문 만들기@SelectProvider(type = UserSqlBuilder.class, method = "buildGetUsersByName")List getUsersByName(String name);class UserSqlBuilder { public static String buildGetUsersByName(final String name) { return new SQL(){{ SELECT("*"); FROM("users"); if (name != null) { WHERE("name like #{value} || '%'"); } ORDER_BY("id"); }}.toString(); }}@SelectPro..
[JSP] 이전 페이지로 이동하는 방법 [브라우저 히스토리, HTTP Referer, 스크립트릿]
·
◎ Java/JSP📋
- 이전 페이지로 이동하는 방법JSP(JavaServer Pages)에서 이전 페이지로 이동하는 방법은 다양하다. 이전 페이지로 이동하는 방법은 브라우저의 히스토리를 이용하거나, 이전 페이지에서 제공한 링크나 버튼 등을 사용하여 이동할 수 있다.1. 브라우저의 히스토리를 이용한 이동 JavaScript를 사용하여 history.back() 메서드를 호출한다. 또는 태그에 onclick 이벤트 핸들러를 추가하여 이전 페이지로 이동할 수 있다.이전 페이지로2. 링크 또는 버튼을 사용한 이동 이전 페이지의 URL이 이미 알려져 있다면 해당 URL을 사용하여 링크를 만들 수 있다.이전 페이지로3. HTTP 리퍼러(Referer)를 사용한 이동 이전 페이지에서 현재 페이지로 이동할 때 HTTP 리퍼러 헤더를 이..
[JAVA] 자바에서 Map을 반복시키는 방법 [Java Map 반복문, 순회하는 방법]
·
◎ Java/Java☕
- 자바에서 Map을 반복시키는 방법 Map map = new HashMap(); // Map 생성 // 1. Iterator 사용 Iterator keys = map.keySet().iterator(); while (keys.hasNext()) { String key = keys.next(); System.out.println(String.format("key : %s, value : %s", key, map.get(key))); } // 2. Map.Entry 사용 for (Map.Entry elem : map.entrySet()) { System.out.println(String.format("key : %s, value : %s", elem.getKey(), elem.getValue())); } ..
[Error Note] Local variable defined in an enclosing scope must be final or effectively final [forEach 안에서 변수 초기화 에러]
·
◈ Study/에러노트(Error Note)🧱
- Local variable defined in an enclosing scope must be final or effectively final forEach 문 안에서 변수 초기화를 시도하였으나, 에러를 만나게 되었다. 해당 에러는 람다(Lambda)식을 사용할 때 발생하는 에러이다. 바깥쪽 범위에 정의된 지역 변수는 final이거나 사실상 final이어야 합니다. 람다 안은 익명 클래스(anonymous inner class)이다 보니, 자바 컴파일러가 k, v와 같은 파라미터로 사용하는 변수와 로컬 변수를 구분하지 못한다고 한다. 해결방법으로는 클래스 단에서 변수를 만든 뒤에 사용해주면 된다. - 참고자료 자바 Local variable '변수명' defined in an enclosing sco..
[Toy Project] Java로 파일탐색기를 만들어보자🔍 [재귀함수를 응용한 윈도우 파일탐색기]
·
◈ Yermi Project/Toy Project💎
- Java로 파일탐색기를 만들어보자 간단하게 만들어볼 게 뭐가 있을까 고민하다가 '파일탐색기'를 만들어봐야겠다 생각했다. (Composite 패턴 공부하면서 재귀함수를 활용하면 금방 만들겠다 생각이 들었음) [GoF] Composite 패턴 : 그릇과 내용물을 동일시한다 [재귀적인 구조를 만드는 패턴] - Composite 패턴 : 그릇과 내용물을 동일시한다 Composite 패턴은 컴퓨터 파일 시스템의 '디렉터리(Directory)'처럼 '중첩'된 구조, 재귀적인 구조를 만들어내는 패턴이다. 그릇과 내용물을 동일하게 만 yermi.tistory.com main에서 실행될 findFile이라는 메서드이다. 파일개수를 세줄 count라는 변수는 전역으로 선언하였고, Scanner의 nextLine도 입맛..