-
191020 JDBC 기본JAVA 2020. 10. 19. 08:40
JDBC 기본 코드.
밑에 나타난 것은 어댑터와 같이 모든 형태의 DB와 JAVA를 연결하기 위한 장치이다.
public List<EntProgramVO> getEntPrograms() { Class.forName("Drvier.name"); Connection conn = DriverManager.getConnection("url","ID", "PW"); //1. Statement 이용 Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); //2. PreparedStatement 이용 PreparedStatement pstmt = conn.prepareStatement(sql); ResultSet rs = pstmt.updateQuery(); }
1, 2번 방법 모두 사용이 가능하고, 조건이 붙는 sql문에는 2번이 좀 더 깔끔하게 코드를 작성할 수 있다.
try { conn = dao.getConnection(); stmt = conn.createStatement(); pstmt = conn.prepareStatement(sql); rs = stmt.executeQuery(sql); if (rs.next()) { do { EntProgramVO entVo = new EntProgramVO(); entVo.setPro_name(rs.getString(1)); entVo.setPro_company(rs.getString("pro_company")); entVo.setPro_end(rs.getString("pro_end").charAt(0)); entVo.setPro_rating(rs.getDouble("pro_rating")); // number(3,1) pros.add(entVo); } while (rs.next()); } else { System.out.println("데이터가 없습니다."); } } catch (Exception e) { e.printStackTrace(); } finally { dao.closeConnection(rs, stmt, conn);
여기서 rs.next()를 boolean으로써 사용하는 이유는,
DB에서 JAVA로 데이터를 가져올 때, 한꺼번에 가져오는 것이 아닌,
'하나 하나' 가져오는 것이기에, 다음 것을 가져올 때마다 확인하는 과정을 거쳐 다음 것이 존재하면 넣을 수 있게끔 설계한 것이다.
'JAVA' 카테고리의 다른 글
161020 시험 (0) 2020.10.16 190820 JSONReader (0) 2020.08.29 190820 lotto (0) 2020.08.29 190820 - get Lotto Num (0) 2020.08.29