Spring+JSP+JSTL

EgovMap

daeyun대윤 2022. 2. 24. 10:10

전자정부프레임워크에서 제공하는 제네릭 타입인 EgovMap을 이용하여 DB의 데이터 조회

 

참고 : https://elvis-note.tistory.com/entry/10-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%A0%84%EB%8B%AC%EB%B0%A9%EC%8B%9D-2-EgovMap%EC%9C%BC%EB%A1%9C-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%A1%B0%ED%9A%8C

 

10. 데이터 전달방식 - (2) EgovMap으로 데이터 조회

개발 환경 IDE : Eclipse Mars.2 (4.5.2) SpringFramework : 4.1.2.RELEASE JDK : 1.8 Server : Apache Tomcat 7.0.91 OS : Mac OS Mojave(10.14) EgovMap으로 데이터 조회 전자정부프레임워크에서 제공하는 제네..

elvis-note.tistory.com



egovMap으로 pararmeter를 보내면 카멜케이스로 변경되는데 map으로 하기 때문에 콘솔창에 sysout으로 출력해보면 카멜케이스로 키 값이 변경이 안되있는것을 확인할 수 있다.

 

참고 : https://yoonhee-cho.tistory.com/6

 

6_컨트롤러에서 데이터 넘기는 방식 4가지(Map, EgovMap, String, VO)

컨트롤러에 welcomeWebTable, welcomeWebMap 이름으로 li태그 추가. jsp 파일을 복사해서 welcomeWebTable.jsp를 만들고 테이블을 지워준다. 그리고 controller에서 welcomeWebInit을 복사해서 welcomeWebTable, w..

yoonhee-cho.tistory.com

예를 들어, 데이터베이스에서  < SELECT user_id FROM user WHERE name="홍길동" > 이라는 SQL문을 통해 유저의 아이디(user_id)를 사용하고자 할때, map.get("user_id")와 같이 column 명으로 참조하지만, egovMap을 사용하면 camelcase의 규칙에 따른 이름으로 객체를 참조할 수 있다.

컬럼 명이 user_id -> userId로 참조,

컬럼 명이 userId  -> userid로 참조

 

컬럼명의 _다음 알파벳은 대문자로 인식하며 컬럼명에서 대문자는 그대로 소문자 변수로 맵핑된다. 결과적으로, egovMap.get("userId")로 참조

 

참고 : https://blog.naver.com/mklmkl2001/220934471615

 

egovMap 이란

egovMap 의 기능은 사실 java의 Map클래스와 동일하다고 보면 된다. 그렇다면 왜 egovMap이 있는것인가?...

blog.naver.com


key 값과 Value 로 사용할 수 있는 EgovMap

출처: https://mingggu.tistory.com/50 [기록, 잊을수 있는 기쁨]

 

전자정부 프레임 워크 EgovMap 사용하기

DB에서 조회한 데이터를 뽑아올때, 단일 데이터일 경우 리스트 형태로 가져오게 되면 인덱스를 지정해주어야 하기 때문에 코드가 길어지고 비 효율적이게 된다. 하나의 pk 에 대해 한번의 데이터

mingggu.tistory.com


참고 : https://www.egovframe.go.kr/home/qainfo/qainfoRead.do?menuNo=69&qaId=QA_00000000000018743

 

묻고 답하기 | 표준프레임워크 포털 eGovFrame

처리중입니다. 잠시만 기다려주십시오.

www.egovframe.go.kr

EgovMap은 Map형태의 클래스로 iBatis(myBatis) parameterClass 또는 resultClass에서 사용할 수 있도록 제공되는 클래스입니다.


여기에 추가적으로 ListOrderedMap을 상속받는 클래스를 생성하고 PUT함수를 가로채 새로운 Map객체를 만들어서 Key에 해당되는 부분을 CamelCase 방식으로 치환하여 적용하는 기능이 있습니다.

따라서, 일반적인 HashMap 형태의 클래스를 사용 방법과 동일하므로 EgovMap 대신에 HashMap로 변경하여 사용하실 수 있습니다.


매퍼는 SQL를 가르킨다.
네임스페이스의 주소가 매퍼를 가리켜야한다.
매퍼의 서비스가 sql의 id과 일치하면 해당sql를 실행한다.
resultType 데이터를 다시 가져올때의 타입.

 

Mapper 인터페이스의 패키지경로.인터페이스 명을 sql.xml 의 namespace에 매칭시켜주고 Mapper 의 메서드명이 select id 랑 매칭되면 연결된다.

 

- List 는 대괄호 [ ] 나타나고  데이터베이스의 데이터는 각 로우마다 중괄호 { }, 로 나타난다.
- egoveMap 은 전자정부에 있는 특별한 기능이 수록되어 있다.
- 단순한 Map이랑은 다르게 카멜케이스로 데이터를 바꿔준다. 
실제컬럼 user_no  -> 카멜케이스 userNo

 

참고 : https://flowerknight.tistory.com/4

 

2. Mapper 쿼리,egovMap (카멜케이스)

매퍼는 SQL를 가르킨다. 네임스페이스의 주소가 매퍼를 가르켜야한다. 매퍼의 서비스가 sql의 id과 일치하면 해당sql를 실행한다. resultType 데이터를 다시 가져올때의 타입 Mapper 인터페이스의 패키

flowerknight.tistory.com

 

728x90
300x250