일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- spring-kafka
- gradle
- spring-batch
- coursera
- kafka interactive query
- spring-cloud-stream
- reactive
- springboot
- 카프카
- Kafka
- kafkastream
- Logstash
- aws
- kafka streams
- Elasticsearch
- 플레이 프레임워크
- enablekafkastreams
- scala 2.10
- confluent
- statestore
- avo
- Spring
- RabbitMQ
- 한빛미디어
- kafkastreams
- play framework
- Elk
- Slick
- schema registry
- scala
- Today
- Total
b
mybatis interface mapper기반에서 HashMap 가져오기. 본문
현재 개발중인 플랫폼은 다양한 값들이 필요로 하고, 실행환경에서 변경이 필요하다. 그래서 filter나 properties방식이 아닌, KEY-VALUE Table을 만들어 넣고 이 테이블을 Properties로 쓰려고 하였다.
현재 Mybatis의 사용방법은 'Mapper Annotations'방법에 조금 복잡한 쿼리들은 기존의 XML 방법으로 이용하고 있다. (참고 : http://mybatis.github.io/mybatis-3/java-api.html )
[ SELECT NAME, VALUE FROM XXX_PLATFORM_ENV ] 라는 아주 단순한 쿼리이기 때문에 가능하면 annotation 으로 처리하고 싶어서 별짓을 다 해봤으나... 내가 원하는 KEY-VALUE의 MAP으로 받을수가 없었다.
가잡 근접하게 나온 결과가
key = {NAME=key, VALUE=....}, key = {NAME=key, VALUE=....} 이런결과였다
즉, <Key, Key + 필드> 형태로 나오지 <Key, 1개 필드> 형태는 죽어도 못 뽑아내겠더라...
대충
@Select("SELECT name, value FROM INFO_ENVIRONMENT")
@MapKey("key")
@Results({
@Result(column="name", property="key", id=true),
@Result(column="value", property="value", id=false)
})
어차피 mapper라 상위 service에서 List -> Map 으로 변경하는게 가장 속 편할 거 같다....
(XML mapper나, resultHandler를 쓰지 않고 Map<String, String>을 뽑아 낼수는 없을걸까?)
'spring framework' 카테고리의 다른 글
angularjs , $resource 와 spring @requestBody (0) | 2013.11.11 |
---|---|
spring interceptor (0) | 2013.11.05 |
SqlMapClientTemplate 의 내부 (0) | 2013.02.01 |
DefaultServletHttpRequestHandler (0) | 2013.02.01 |
SpringOne2GX 2012 컨퍼런스 후기 나눔 세미나 (from OLC) (0) | 2013.01.09 |