final String sql_selectAll="SELECT * FROM STUDENT WHERE NAME LIKE '%'||?||'%' ORDER BY SID ASC";
// LIKE 구문을 JDBC에서 쓰려면 '%'|| ? || '%" 으로 써야함 , %도 각 각 글자로 취급하기 때문에..?
public ArrayList<StudentVO> selectAll(StudentVO vo){
// boolean타입이 아니니 반환할 정보를 만들어 놓는다
ArrayList<StudentVO> datas=new ArrayList<StudentVO>();
conn=JDBCUtil.connect();
try {
pstmt=conn.prepareStatement(sql_selectAll);
pstmt.setString(1, vo.getName()); // 객체정보에 이름정보가 없으면 전체정보 출력
// 있으면 이름에 입력값을 포함한 모든 학생
// 정보 출력
// 이건 LIKE 구문 때문이다.
ResultSet rs=pstmt.executeQuery();
while(rs.next()) {
StudentVO data=new StudentVO();
data.setName(rs.getString("NAME"));
data.setScore(rs.getInt("SCORE"));
data.setSid(rs.getInt("SID"));
datas.add(data);
}
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
JDBCUtil.disconnect(pstmt, conn);
}
return datas;
}