database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 29890 게시물 읽기
No. 29890
JDBC를 이용한 Select ~ where ~ in 절
작성자
고민중
작성일
2011-01-12 19:18
조회수
8,599

안녕하세요.

jdbc를 이용해서 select * from table WHERE key in (?) 를 구현하려고 합니다.

저 ? 안에 들어가는 값은 int로, 상황에 따라 개수가 달라질 수 있기 때문에 다음과 같은 방식의 코딩을 시도하였습니다.

=====================

Vector<Integer> array = new Vector<Integer>();

PreparedStatement stmt = conn.prepareStatement("select * from table WHERE key in (?)");

stmt.setObject(1, array);
       
        ResultSet rs = stmt.executeQuery();

=====================

쿼리 실행은 되나 결과가 정상적으로 나오지 않더군요... ^^;;

어라 이상하다 하면서 구글링을 해 봤더니 2005~2006년도 경 자료들로 그거 안돌아가요~

그냥 직접 스트링 만들어 쓰시거나, 임시테이블 써서 하세요~ 라는 글이 산더미처럼[....] 있더라구요.

현재도 답이 없는 건가요...? 하도 자료가 오래 된 자료들이라 신뢰가 안가서요 ^^;;

이 글에 대한 댓글이 총 1건 있습니다.

MySQL의 JDBC 커넥터에 대해 아는 바가 없지만, Vector<Integer> to String으로 변환 후에, IN 의 변수로 넘기는 것이 보다 일반적인 것으로 보입니다. 다른 벤더를 위한 커넥터들도 마찬가지일 것으로 보이는데요, 혹시 다른 벤더의 커넥터에서는 벡터를 전달하면 알아서 concaternation(implode)을 해주는지 궁금합니다.

박현우(lqez)님이 2011-01-13 09:41에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
29893말도 안되는 쿼리가 작동을 해버렸네요...물론 실행결과는... [1]
송승우
2011-01-17
8064
29892mysql workbench 데이터 수 제한 [1]
안혜진
2011-01-15
16063
29891서브(?) 쿼리 질문!
devil
2011-01-13
8501
29890JDBC를 이용한 Select ~ where ~ in 절 [1]
고민중
2011-01-12
8599
29888mysqldump 시 한글주석 깨지는 문제.. [1]
맘스
2011-01-11
9243
29887mysql 원격 접속시에 지연 현상 [1]
안혜진
2011-01-10
8847
29885Mysqld 의 메모리가 증가 합니다. [5]
정기정
2011-01-10
12892
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다