전자정부프레임워크에서 제공하는 제네릭 타입인 EgovMap을 이용하여 DB의 데이터 조회
egovMap으로 pararmeter를 보내면 카멜케이스로 변경되는데 map으로 하기 때문에 콘솔창에 sysout으로 출력해보면 카멜케이스로 키 값이 변경이 안되있는것을 확인할 수 있다.
참고 : https://yoonhee-cho.tistory.com/6
예를 들어, 데이터베이스에서 < 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
key 값과 Value 로 사용할 수 있는 EgovMap
출처: https://mingggu.tistory.com/50 [기록, 잊을수 있는 기쁨]
참고 : https://www.egovframe.go.kr/home/qainfo/qainfoRead.do?menuNo=69&qaId=QA_00000000000018743
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