Background Image

FORUM

조회 수 11213 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
 Linux 64bit
CUBRID Ver.
 서버 9.2.24.0002
CUBRID TOOL Ver.
 큐브리드 매니저 9.3.6.001
응용 환경(API)
 java / mybatis 3.2.8 / cubrid jdbc 9.2.24.0002 사용

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------


다음과 같이, SELECT시 서브 쿼리의 결과를 LIST 데이터 타입으로 받도록 했습니다.

(아래 쿼리는 상황 설명을 위한 예시입니다.)


SELECT LIST( SELECT 1 UNION SELECT 2 UNION SELECT 3 ) AS no_list


위와 같이 하면, 큐브리드 매니저 상으로는 {1,2,3} 으로 확인이 되는데요,

상기 쿼리를 mybatis를 통해 수행하게 되면 해당 컬럼의 값이 null 로 확인되어 문의드립니다.


큐브리드의 LIST / SET 등의 데이터 타입이 JAVA의 java.util.list로 매칭되어 반환될 것이라고 기대를 했었는데요,

mybatis를 통해 위 결과를 Java List 형으로 받을 수 없을까요? 아니면 다른 체크 포인트가 있는 것일까요?


도움 부탁드립니다^^;


고맙습니다. :-)

  • ?
    진우진 2016.03.22 09:28
    위 쿼리의 경우
    JAVA에서 mybatis로부터 쿼리 결과를 받을 때
    전체 결과는 java.lang.List 타입,
    List 안에 포함된 각각의 행은 HashMap,
    결과 행의 컬럼값은 HashMap에 "no_list" key에 대한 value 값으로 접근 가능합니다.

    List에 접근 -> 결과셋의 row는 List 내의 HashMap<key,value> 객체들로 구성되므로 하나의 HashMap 객체에 접근 ->
    HashMap의 no_list 키가 가리키는 값에 접근

    위 순서로 되야 합니다.

    쿼리에서 SELECT 문으로 가져올 값이 큐브리드의 LIST 타입이므로 자바에서는 Object 타입으로 받고
    Object 에서 오버라이드 되지 않은 toString 메소드는 메모리 주소를 리턴하므로
    Arrays 클래스의 toString 메소드를 이용하여 주소가 아닌 실제의 값에 접근 가능합니다. 

    아래 간단한 예제 소스를 만들어 첨부해드리겠습니다.


    Mybatis Mapper 를 아래와 같이 설정한 뒤
       <select id ="selectSample2" parameterType="java.util.HashMap" resultType= "java.util.HashMap">
            select {1,2,3} as no_list from tbl;
        </select >

    컨트롤러 소스에서 다음과 같이 접근해주면 될 것 같습니다.
    0번 index를 가진 행(HashMap)에서 "no_list" 키의 값을 자바 기본 제공되는 Arrays 클래스의 toString() 메소드로 출력하는 방법을
    사용하였습니다.

    List<HashMap<String, Object>> outputs2 = sqlSession.selectList("userControlMapper.selectSample2", input); 
    System.out.println(Arrays.toString((Object[])outputs2.get(0).get("no_list")));

    위 접근 방법을 토대로 응용하시면 될 것 같습니다. 참고로 쿼리 결과 {1,2,3}에 대한 자바 내 타입은 Ljava.lang.Integer 형태로 나왔었습니다.
    프레임워크 및 언어간 형 변환에 관한 질답은 국내 사이트들보다 해외 프로그래밍 커뮤니티 및 포럼을 찾아보시면 다양한 방면의 질답을 찾으시기 수월하실겁니다. 
    위의 예제 소스는 테스트용으로 결과 나오는 방법을 설명하기 위한 목적으로만 작성한 것으로
    검색해보시면 분명 제가 적어드린 내용보다 더 편하고 간결한 방법이 있을것으로 생각됩니다. 
    감사합니다.
  • ?
    차오이 2016.03.22 21:28

    진우진님 자세한 답변 고맙습니다 ^^

    적어주신 내용 참고하겠습니다



List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 49
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
3314 큐브리드 R4.0 에서 between 사용시 문제가 발생합니다. 1 종이 2011.08.07 9248
3313 큐브리드 R2.2 PHP모듈 XP서 컴파일 방법 문의2 2 file 아장아장 2010.06.05 9625
3312 큐브리드 R2.2 PHP모듈 XP서 컴파일 방법 문의 1 아장아장 2010.06.05 9927
3311 큐브리드 R2.1 PHP확장모듈 관련 8 차오이 2010.03.15 12871
3310 큐브리드 PDO 지원 여부 문의드립니다. 1 마몽드발톱 2017.07.20 286
3309 큐브리드 ORDER BY ? 1 신데렐라 2013.04.24 9581
3308 큐브리드 OLEDB 성능 문제 및 오류 2 file 쭈난 2010.01.18 14208
3307 큐브리드 ODBC설정방법문의 1 file 개발자1111 2018.09.18 663
3306 큐브리드 ODBC 연결 문제... 아따따뚜겐 2013.05.20 16037
3305 큐브리드 NEXTVAL 사용 문의 입니다. 1 쏘옹 2020.04.07 760
3304 큐브리드 MERGE INTO USING ( SELECT DB_ROOT ) 관련 질문 드립니다. 1 MSG 2021.03.25 389
» 큐브리드 List 데이터 타입에 대한, mybatis 연동 방법 문의 2 차오이 2016.03.22 11213
3302 큐브리드 JDBC 연결 ResultSet 문제 1 말큼 2016.12.29 15058
3301 큐브리드 JDBC 드라이버의 CUBRIDConnection.setReadOnly (read-only)지원 문의 1 며리 2014.05.20 7560
3300 큐브리드 JDBC 드라이버 XA문의 및 큐브리드 분산트랜잭션(XA) 지원 문의 1 몽키스패너 2024.04.24 24
3299 큐브리드 HA 마스터 구동 실패 질문드립니다. 3 광황제 2013.06.18 8344
3298 큐브리드 HA 구성시 Jeus 커넥션풀 설정 문의 드립니다. 1 secret 쿨커피 2015.02.27 18
3297 큐브리드 HA 구성시 Jeus 커넥션풀 설정 문의 드립니다. 1 식이77 2015.06.08 7439
3296 큐브리드 HA 구성시 ADO.Net altHost 1 데베안 2013.04.02 14796
3295 큐브리드 HA 구성 후 재기동 절차 관련 질문입니다 1 강성현 2019.12.27 326
Board Pagination Prev 1 ... 30 31 32 33 34 35 36 37 38 39 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales