반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- ObjectInputStream
- InputDialog
- interrupt()
- first-child
- Linux셋팅
- Linux세팅
- interrupted()
- first-of-child
- 표현 언어
- sleep()메소드
- StringWriter
- char[] String 형변환
- String char[] 형변환
- include 지시자
- ThreadGroup()
- include액션태그
- 스레드그룸
- 상관서브쿼리
- 상관 서브 쿼리
- Daemon()
- isinterrupted()
- StringReader
- 동기화
- 메모리스트림
- ID중복
- include지시자
- 리눅스셋팅
- 리눅스세팅
- 아이디중복
- MemoryStream
Archives
- Today
- Total
다연이네
[days03] PreparedStatement 사원 조회 본문
반응형
1. emp테이블에서 사원 조회
package days03;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Scanner;
import com.util.DBConn;
import days02.EmpDTO;
public class Ex04_04 {
public static void main(String[] args) {
//emp테이블에서 사원 조회
String searchWord = null;
Scanner scanner = new Scanner(System.in);
System.out.print(">조회할 사원명 입력(대문자로) ? ");
searchWord = scanner.next();
//사원명의 일부분만 입력받아서 모두 조회
String sql = "SELECT * FROM emp "
+" WHERE ename LIKE '%"+searchWord+"%' " ;
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
con = DBConn.getConnection();
try {
pstmt = con.prepareStatement(sql);
rs = pstmt.executeQuery();
while(rs.next()) {
String ename= rs.getString("ename");//그냥 ename으로 검색
System.out.println(ename.replace(searchWord, "["+searchWord+"]"));
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
pstmt.close();
rs.close();
DBConn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
System.out.println("=END=");
}//main
}//class
2. like 구문 사용해서 수정하기
package days03;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Scanner;
import com.util.DBConn;
import days02.EmpDTO;
public class Ex04_05 {
public static void main(String[] args) {
//emp테이블에서 사원 조회
String searchWord = null;
Scanner scanner = new Scanner(System.in);
System.out.print(">조회할 사원명 입력 (대문자로) ? ");
searchWord = scanner.next();
//사원명의 일부분만 입력받아서 모두 조회
String sql = "SELECT * FROM emp "
+" WHERE ename LIKE ?" ;
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
con = DBConn.getConnection();
try {
pstmt = con.prepareStatement(sql);
pstmt.setString(1, "%"+searchWord+"%");
//그냥 searchWord 주면 S 주면 아무것도 안뜨고 풀네임 줘야 뜸
rs = pstmt.executeQuery();
while(rs.next()) {
String ename= rs.getString("ename");//그냥 ename으로 검색
System.out.println(ename.replace(searchWord, "["+searchWord+"]"));
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
pstmt.close();
rs.close();
DBConn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
System.out.println("=END=");
}//main
}//class
3. REGEXP_LIKE로 수정
package days03;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Scanner;
import com.util.DBConn;
import days02.EmpDTO;
public class Ex04_06 {
public static void main(String[] args) {
//emp테이블에서 사원 조회
String searchWord = null;
Scanner scanner = new Scanner(System.in);
System.out.print(">조회할 사원명 입력 ? ");
searchWord = scanner.next();
//사원명의 일부분만 입력받아서 모두 조회
String sql = "SELECT * FROM emp "
+" WHERE REGEXP_LIKE (ename , ?, 'i') " ; //이렇게 주면 밑에서 % 필요 없지
//프로젝트시 정규표현식 사용하는 REGEXP_LIKE 사용하는게 젤 좋겠다
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
con = DBConn.getConnection();
try {
pstmt = con.prepareStatement(sql);
pstmt.setString(1, searchWord);
rs = pstmt.executeQuery();
while(rs.next()) {
String ename= rs.getString("ename");//그냥 ename으로 검색
System.out.println(ename.replace(searchWord, "["+searchWord+"]"));
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
pstmt.close();
rs.close();
DBConn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
System.out.println("=END=");
}//main
}//class
반응형
'JDBC' 카테고리의 다른 글
[days04] 월급 금액 등급별로 사원 정렬해서 출력하기 (0) | 2020.11.26 |
---|---|
[days04] DTO, VO, DAO, 자바빈즈, POJO 용어 정리 (0) | 2020.11.26 |
[days03] PreparedStatement - 사원 추가, 수정, 삭제 (0) | 2020.11.25 |
[days03] 문제) 부서별 소속 사원수 정렬하여 출력 (0) | 2020.11.25 |
[days03] 사원 조회, 추가, 삭제 (0) | 2020.11.25 |
Comments