응용개발

jdbc에서 bit 데이터 타입 사용하기

by 손승일 posted Apr 11, 2009

CUBRID의 bit 데이터 타입을 sql로 처리하는 방법은
insert into test_tb (bittype) values(B'01');
select bittype from test_tb where bittype=B'01';
와 같은 방법으로 저장, 조회 할 수 있습니다.
위와 동일한 작업을 jdbc의 preparestatement 방식을 사용하는 경우에는 setBytes, getBytes를 사용하여야 하고 인자로는 byte[]을 사용하여야 합니다.
위 sql의 B'01'이라는 값을 byte 배열에 저장하려면
byte[] b = new byte[2];
b[0] = (byte)1000000;

preparestatement에 적용 해보면
pstmt = con.prepareStatement("select bittype from test_tb where bittype=?");
pstmt.setBytes(1, b);
rs = pstmt.executeQuery();
while(rs.next()){
System.out.println("result ->" + new String(rs.getBytes(1)));
}

결과는
result -> @
로 나타나게 됩니다.
B'01'이 문자열로 나타내면 @ 였네요.

문자열 @를 byte로 변환하여 적용할 경우에는
byte[] b = "@".getBytes();
를 사용하면 됩니다.