[Oracle/SQL] DML(ArrayList 이용)
2023. 6. 7. 21:36ㆍDB/SQL
1️⃣ DB와 Java를 연동해 DML 실행 : ArrayList 이용하기
public static List<GuitarDTO> getDeptList(Connection conn) {
PreparedStatement stmt = null;
ResultSet rs = null;
List<GuitarDTO> list = new ArrayList<GuitarDTO>();
String sql =
"select guitarNo, guitarBrand, guitarColor from guitar" + " order by guitarNo ASC";
try {
stmt = conn.prepareStatement(sql);
} catch (SQLException e1) {
System.out.println("객체 준비 관련 에러 발생"+e1);
e1.printStackTrace();
}
try {
rs = stmt.executeQuery();
while(rs.next()) {
int guitarNo = rs.getInt("guitarNo");
String guitarBrand = rs.getString("guitarBrand");
String guitarColor = rs.getString("guitarColor");
list.add(new GuitarDTO(guitarNo, guitarBrand, guitarColor));
}
} catch (SQLException e1) {
e1.printStackTrace();
} finally {
JDBCUtil.close(rs); // 따로 메소드를 만들어 자원 반납
JDBCUtil.close(stmt); // 따로 메소드를 만들어 자원 반납
}
return list;
}
- 위와 같은 메소드를 만든뒤, 실행 클래스에서 List를 이용해 출력을 하면 된다.
public static void main(String[] args){
Connection conn = JDBCUtil.getConnection();
List<GuitarDTO> guitarList = GuitarDAO.getGuitarList(conn);
if(guitarList.size()>0) {
for (guitarDTO guitar : guitarList) {
System.out.println(guitar.toString());
//overriding된 toString을 출력하게 됨
}
} else {
System.out.println("해당하는 guitar 없음");
}
JDBCUtil.close(conn); // connection 자원 반납
}
'DB > SQL' 카테고리의 다른 글
| [Oracle/SQL] Procedure과 Function (1) | 2023.06.19 |
|---|---|
| [Oracle/SQL] JOIN, 서브쿼리, 뷰, 테이블 (1) | 2023.06.14 |
| [Oracle/SQL] SQL Developer (0) | 2023.06.08 |
| [Oracle/SQL] DML, Sequence (1) | 2023.06.06 |
| [Oracle/SQL] XE, Tablespace, User (0) | 2023.06.06 |