** like 연산자의 변수처리
: 책이름 중에 "축구" 글자가 들어가는 모든 도서 검색
방법1)
: "%축구%" 자리 전체를 ? 으로 잡아주고 변수를 이용해 사용
public static void main(String[] args) {
// TODO Auto-generated method stub
// like 연산자의 변수처리
// 책이름 중에 "축구" 글자가 들어가는 모든 도서 검색
String user = "축구";
String keyword = "%" + user + "%";
String sql = "select * from book where bookname like ?";
try {
Connection conn = ConnectionProvider.getConnection();
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, keyword);
ResultSet rs = pstmt.executeQuery();
while(rs.next()){
String bookname = rs.getString(2);
int price = rs.getInt(4);
System.out.println(bookname+ ", "+price);
}
ConnectionProvider.close(rs, pstmt, conn);
} catch (Exception e) {
System.out.println(e);
}
}
방법2)
: 오라클의 문자열 연결 연산자 || 를 이용
public static void main(String[] args) {
// TODO Auto-generated method stub
// like 연산자의 변수처리
// 책이름 중에 "축구" 글자가 들어가는 모든 도서 검색
String user = "축구";
// 오라클의 문자열 연결 연산자 ||
String sql = "select * from book where bookname like '%' || ? || '%'";
try {
Connection conn = ConnectionProvider.getConnection();
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, user);
ResultSet rs = pstmt.executeQuery();
while(rs.next()){
String bookname = rs.getString(2);
int price = rs.getInt(4);
System.out.println(bookname+ ", "+price);
}
ConnectionProvider.close(rs, pstmt, conn);
} catch (Exception e) {
System.out.println(e);
}
}
'JAVA > Oracle' 카테고리의 다른 글
오라클 - 답변형 게시판 쿼리 ( 부모글 지울 때 답변글에 '부모글이 삭제되었다'는 것을 써주기 위한 질의문 (0) | 2016.07.03 |
---|---|
오라클 - 테이블 생성시에 제약사항 (0) | 2016.06.18 |
오라클 - 질의문을 이용한 책 추천 시스템 풀이 (0) | 2016.06.18 |
오라클 - 질의문 예제와 풀이 (0) | 2016.06.18 |
오라클 - 자료의 수정과 자료의 삭제 update, delete 명령어 (0) | 2016.06.18 |