수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

IBatis에서 쿼리 결과값 처리에 대한 질문이 있습니다..

후회중

2023.04.01

안녕하세요~

현재만들고 있는프로그램에서 공부겸해서 IBatis를 사용해 보고있는데요..

조언을 구하고자.. 이렇게 질문을 드리게 됐습니다.^^;

Ibatis에서는 queryForXXX()메소드를 이용하여 쿼리 결과값들을 지정된 객체로 반환시켜 주자나요?

저는 일단 SqlMap.xml 매핑구문에서resultClass=hashmap 으로 했구요

List list = queryForList(ABC, Map객체); 이런 형태로해당 매핑구문의 쿼리 결과값을 List에 담습니다.

이 list를 Client에 Socket을 이용해서 그대로 보내주게 됩니다.. 그리고 Client는받은 list를지지고 볶아서 JTable에 뿌려주

는 형식의 프로그램입니다....;

문제는.. 쿼리 결과의 레코드 수가 꽤 많은 경우에 Socket으로 list를 전송하게되면 사용메모리가 마구 마구 늘어남과 동시에

처리시간이 무지무지 오래걸린다는 점입니다...ㅠ0ㅠ

아무튼 결과를 빈즈에 담아서 사용하는 방식이라던가.. RowHandler를 이용해서 결과를 쪼개서 처리하는 방식이라던가..

인터넷을 뒤져가며 이것저것 바꿔서 테스트를 해봤는데.. 잘 모르니.. 바꿔서 적용을 시켜볼려고 해도... 시간만 잡아먹고

어느새 익셉션과 친구가 되었습니다.ㄱㅠ;

통신방식을 Socket이 아닌 다른 방식을 써야할까요..

아니면 Ibatis에서 방대한 결과값을 처리하는 방식이 있는지요.. 그래서 Socket통신으로도 무리가 없는..그런 방법이 있을까요?

왜 굳이 이런 프로그램에 IBatis를 쓰느냐.. 하실 수도 있겠지만..

IBatis의 사용이 비효율 적이더라도... IBatis는 꼭 사용해야 됩니다... 이해가 안되시겠지만..ㅋㅋㅠ.,ㅠ 사정이 있습니다ㅋ

부디 친절한 코드인 여러분.. 도움의 손길 좀 주세요ㅋ

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 희1미햬

    페이징 처리를 하시면 될 것 같은데요. 그것을 다 볼리도 없고 LIMIT을 이용해서 볼것만 가져오고 나머지는 OFFSET을 이용해 버리시면 될 것 같은데요.

  • 빛초롱

    모두 답변 감사드립니다^^ 시행착오를 거쳐서 깨달음을 얻는 수 밖에 없는 것인가요..ㅋ
    아..통계는.. 처음에 날짜로 검색한 결과테이블에서 일별로 A컬럼의 어떤 값들이 몇 건이 있는지를 나타내게 됩니다.. 마지막으로는 금액을 입력해서 건수에 대해 계산을 하는.. 이런식 입니다..ㅠ

  • VE

    통계를 어떻게 내시는지 모르겠지만 쿼리로 해결 가능할거 같은데요 ^^;;

  • 갤원

    페이징 처리를 하지 않을시에는 select * from table 이런식으로 쿼리를 날리게 되는데요.. 이런것은 table full scan 합니다.
    건수를 가져온다면 select count(*) from table 쿼리를 날리게 되는데 count는 index fast full scan을 하게됩니다..
    2가지의 차이점은 검색을 해보세요..

  • 민서

    고객이 1명뿐이라면 모르겠지만..
    방대한 데이터를 그렇게 로딩하시면 나중에 프로그램 죽습니다.^^
    구현하려는 로직에 따라서는 답이 바뀌는지라~

  • 미르

    수다님 답변 감사합니다. 생각해보니 일단 페이징 처리를 해서 가져오는게 낫겠네요. 한번에 방대한 쿼리결과를 가져오려는것도 db자체에 무리가 갈 수도 있으니까요. 하지만 또 한가지 문제는.. 프로그램에서 결과목록을 가지고 건수를 기준으로 통계를 내야하는데요 만약 검색 결과가 만건인데 페이징 처리해서 천건씩 짤라서 가져온다고 해도 통계를 내기위해서는 어차피 만건을 다 가져와야 합니다. 그렇다면 일단 처음 가져온 천건은 화면에 뿌려주고 프로그램에서는 페이지

  • 슬S2아

    ibatis는 사용해 보지 않아서.. 잘 모릅니다. 다만 대량의 데이타를 처리할때..대량의 데이타를 화면에 보여주고자 할때 예를든다면 대략 만건 정도.. 이 정도 데이타를 뿌려줄일이 있을까요? 보여준다 해도 유저가 그걸다 보고 있을까요? 전 이런경우.. 아예 paging을 하거나 아니면 쿼리를 손봐서 무조건 천건씩 가져오게 합니다. 이때는 전체 건수를 알고 있어야 하고 화면에서 scrollbar의 event를 잡아줘야 하고요
    이 event가 화면에서

번호 제 목 글쓴이 날짜
2704437 출근후 파폭을 6.0으로 업뎃할거냐는 메세지가 나오길래... (3) 마호 2025-08-10
2704383 max-width , min-width, width 세 녀석 관련 질문드립니다. (1) 다와 2025-08-09
2704356 이번 과제로 성적관리 프로그램을 작성해야 하는데... (3) 칸나 2025-08-09
2704305 캐릭터 방향 전환에 대해서 질문합니다. (4) 우수리 2025-08-09
2704276 센터정렬 사이트에서의 정렬문제 (3) 새론 2025-08-08
2704219 충돌감지에 대한 질문입니다. (액션 3.0) (1) 화이티 2025-08-08
2704192 hover 이미지 적용시에..IE에서는 hover 후 원래대로 돌아가지를 않습니다. (2) 민아 2025-08-08
2704135 레이어있는 문서가 뒤로가기버튼 누르면 레이어가 안생깁니다. (4) 개구리 2025-08-07
2704113 왕초보 질문합니다. (3) 민들레 2025-08-07
2704084 스타일시트를 찾을 수 없다고 나오면서 테마 설치가 안되네요 ;; 다힘 2025-08-07
2704026 혼자서 코딩하구있어요 select박스질문입니닷! (4) 콩알눈 2025-08-06
2704000 button value="" 값 css로 수정관련 (2) 꼬붕 2025-08-06
2703971 접근성에 맞는dtd선언하기 (2) 하루 2025-08-06
2703917 div코딩 어느 해상도에서도 중앙정렬문의!!ㅠㅠ 해긴 2025-08-05
2703887 미치겠습니다. 테마 등록, 강남맨 2025-08-05
2703862 아바다 테마 사용도중 질문 드려요~! 모은 2025-08-05
2703831 자바에서 애프릿이랑 어플리케이션 같이쓸때 창 닫는법 (1) 소리 2025-08-04
2703806 (MFC) 현재 선택된 콤보박스 값을 EDIT박스에 어떻게 넣을까요;; 빵돌 2025-08-04
2703752 K-WAH4.4 웹접근성 title페이지 제목 없음 이거 아시는분 계신가요? 갤2 2025-08-04
2703692 초보가 헤메고 있습니다. ㅠㅠ (3) 이루리 2025-08-03
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com