Java 데이터베이스 연결 작업

Java 데이터베이스 연결 작업

2022-10-19 last update

5 minutes reading java discuss database sql

JDBC 란 무엇입니까?



JDBC(Java Database Connectivity)는 Oracle의 Java Standard Edition의 일부인 Java API입니다. 클라이언트가 데이터베이스에 연결하고 쿼리를 실행할 수 있도록 합니다. 이러한 쿼리는 쿼리에 의해 생성되고 Java 애플리케이션에서 쉽게 사용할 수 있는 테이블을 나타내는 객체에 저장됩니다. 개인적으로 저는 Java에서 관계형 데이터베이스에 연결하는 다른 방법에 대해 잘 알지 못하지만 JDBC가 매우 안정적이고 사용하기 쉽다는 것을 알게 되었고 이 기능을 찾는 Java 개발자에게 추천하고 싶습니다.

연결 설정



JDBC에 대한 대부분의 설정은 YML 파일에서 수행됩니다. 몇 줄의 코드만 있으면 데이터베이스 쿼리를 시작하는 데 필요한 모든 것을 모을 수 있습니다.

database:
   name: SchoolDatabase
   connection: jdbc:sqlserver:path-to-database
   queries:
      students: SELECT * FROM students
      teachers: SELECT * FROM teachers


다음은 YML 파일에서 설정이 어떻게 보일 수 있는지에 대한 샘플입니다. 여기에서 이러한 설정을 구성 파일에서 참조하여 애플리케이션 전체에서 사용할 수 있습니다. 한 가지 중요한 사실은 JDBC 연결을 설정하기 위해 YML 파일을 사용할 필요가 없다는 것입니다. 연결 문자열이나 쿼리를 변경해야 하는 경우.

이제 쿼리 실행을 시작할 준비가 되었습니다! 먼저 코드를 던진 다음 모든 다른 부분이 의미하는 바에 대해 이야기하겠습니다.

try {
   Connection conn = DriverManager.getConnection(database.connection, root, password);
   Statement stmt = conn.createStatement();
   ResultSet rs;

   rs = stmt.executeQuery(database.queries.student);
   while ( rs.next() ) {
      String lastName = rs.getString("Lname");
      System.out.println(lastName);
   }
   conn.close();
   } catch (Exception e) {
      System.err.println("Got an exception! ");
      System.err.println(e.getMessage());
  }


그게 다야! 이것이 JDBC를 사용하여 데이터베이스를 쿼리하고 적절한 예외를 처리하는 데 필요한 전부입니다. 하지만 이전에는 보지 못했던 많은 것들이 그곳에 있습니다.

연결: 연결은 매우 자명하며 사용 중인 데이터베이스에 대한 연결을 나타냅니다. YML 파일에서 데이터베이스에 대한 경로를 생성했지만 루트 또는 암호가 연결되어 있으면 해당 경로도 포함해야 합니다.

DriverManager: Connection은 데이터베이스에 대한 연결을 나타내기 위한 것이지만 DriverManager는 실제로 연결을 설정하는 것입니다.

명령문: 이제 데이터베이스에 성공적으로 연결되었으므로 명령문 개체를 사용하여 실제로 일부 쿼리를 실행할 수 있습니다.

ResultSet: 원하는 쿼리를 실행하기 위해 Statement를 사용하고 출력은 ResultSet의 형태로 제공됩니다. 이것은 우리가 관계형 데이터베이스에서 볼 수 있는 테이블과 유사한 형식으로 결과 데이터를 보유합니다. rs.next()를 사용하여 모든 행을 반복할 수 있고 String lastName = rs.getString("Lname"); 행에서 "Lname"문자열이 열 헤더가 되고 현재 행의 해당 열에 있는 값이 lastName 에 저장됩니다.

결론



이것은 JDBC로 가능한 것에 대한 매우 간략한 개요이지만 아직 밝혀내야 할 것이 훨씬 더 많습니다. 내가 보여준 것 외에도 저장 프로시저를 호출하고 RowMapper 함수를 사용하여 특정 행이 ResultSet (SQL WHERE 와 유사)에 추가되는 방법을 결정할 수도 있습니다. 개인 또는 전문 개발에 이 기술을 사용할 수 있다고 생각되면 모든 사람이 이 기술에 대해 더 많은 연구를 수행할 것을 권장합니다.

즐거운 코딩!!