Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
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 31
Tags
more
Archives
Today
Total
관리 메뉴

JS Coding

[Java] DataBase JDBC 연동 code 알아보기 본문

Java

[Java] DataBase JDBC 연동 code 알아보기

JSKJS 2023. 10. 4. 20:02

순서

 

   1. 드라이버를 빌드패스에 추가
   2. 드라이버(클래스) 로딩
   3. Connection 생성
   4. 쿼리 객체 생성
    - Statement : 쿼리 객체 생성 시 쿼리가 고정되지 않기 때문에, runtime에 동적 쿼리 실행이 가능.
    - PreparedStatement(선 컴파일된 쿼리 객체) : 쿼리를 미리 컴파일하고 쿼리 객체를 생성함.
    runtime에 쿼리에 사용되는 literal(값)을 변경하여 쿼리를 재사용함.
   
    - CallableStatement : 절차적 코드집합인 function/procedure 를 호출할때 사용함.
   5. 쿼리 실행
   6. 결과 집합 핸들링(select..)
   7. close(***) - try with resource 구문 활용

 

 

public class ConnectionFactory {
   private static String url;
   private static String user;
   private static String password;
   static {
      Properties dbInfo = new Properties();
//      classpath resource 형태 자원 읽기
//      kr/or/ddit/db/dbinfo.properties
      try(
         InputStream is = ConnectionFactory.class.getResourceAsStream("dbInfo.properties");
      ) {
         dbInfo.load(is);
         String driverClassName = dbInfo.getProperty("driverClassName");
         Class.forName(driverClassName);
         url = dbInfo.getProperty("url");
         user = dbInfo.getProperty("user");
         password = dbInfo.getProperty("password");
      } catch (ClassNotFoundException | IOException e) {
         throw new RuntimeException(e);
      }
   }
   
   public static Connection getConnection() throws SQLException {
      return DriverManager.getConnection(url, user, password);
   }
}

ConnectionFactory 라는 class를 만들어주고 

 

변수 보안에 private static 선언 url,user,password 를 만들어 준다.

 

static { } 에 작성 시 클래스를 불러왔을때 자동실행 되게 해준다.

 

ConnectionFactory  code를 보게되면 dbInfo.properties 가 있다.

url,user,password 를 가져오기 위해서 파일을 따로 만들어 InputStream를 통해서 통로를 만들어주고

 

try-catch문에 입력해 정보를 받아와서

 

Connection을 선언한 getConnection() 메소드에 DriverManager.getConnection에 매개 변수로 넣어주면

DB와의 연동 단계가 끝난다.

 

 

'Java' 카테고리의 다른 글

[Java] 기초 Java 경마 게임 만들기  (0) 2024.01.04
[Java] 파일 다운로드 (File Download)  (0) 2024.01.02
[Java] List와 Set의 차이점  (0) 2023.11.11
[JAVA] A.O.P  (0) 2023.10.23
[Java] Model 2 구조 사칙연산 구현  (0) 2023.09.19