ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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

    댓글

Designed by Tistory.