English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PostgreSQL JAVA 인터페이스

설치

우리의 Java 프로그램에서 PostgreSQL를 사용하기 시작합니다 그 전에, PostgreSQL JDBC와 Java를 컴퓨터에 설정한 것을 확인해야 합니다. 다음을 확인할 수 있습니다 Java 강의를 통해 어떻게 설치하는지 배우는 것을 알아야 합니다. Java. 지금은 postgresqljdbc 드라이버를 설정하는 방법을 확인해 보겠습니다.

  • 다음 주소에서 최신 버전의 postgresql을 다운로드합니다.-(version).jdbc.jar postgresql-jdbc 다운로드.

  • 다운로드된 jar 파일 postgresql을 추가합니다.-(VERSION).jar 또는 그것을 다음과 같이 사용할 수 있습니다.-classpath 옵션을 함께 사용하는 예제와 같이 다음과 같이 사용할 수 있습니다.

아래의 부분은 javajdbc 개념에 대해 알고 있다고 가정합니다. 몰라도 되지만, 아래 설명된 개념을 이해하기 위해 JDBC 강의를 30분 정도 공부하는 것을 추천합니다.

데이터베이스 연결

아래의 Java 코드는 기존 데이터베이스에 연결하는 방법을 보여줍니다. 데이터베이스가 존재하지 않으면 생성되고 마지막으로 데이터베이스 객체가 반환됩니다.

import java.sql.Connection;
import java.sql.DriverManager;
public class PostgreSQLJDBC {
   public static void main(String args[]) {
      Connection c = null;
      try {
         Class.forName("org.postgresql.Driver");
         c = DriverManager
            .getConnection("jdbc:postgresql:")//localhost:5432/testdb",
            "postgres", "123");
      }
         e.printStackTrace();
         System.err.println(e.getClass().getName()+: "+e.getMessage());
         System.exit(0);
      }
      System.out.println("Opened database successfully");
   }
}

위의 프로그램을 컴파일하고 실행하기 전에, PostgreSQL 설치 디렉토리에 있는 pg_hba.conf 파일을 찾아 파일을 생성하고 다음 행을 추가하세요:

# IPv4 local connections:
host    all         all         127.0.0.1/32          md5

postgres 서버가 실행 중이지 않으면 다음 명령어로 시작할 수 있습니다/postgres 서버를 재시작합니다:

이제, 위의 프로그램을 컴파일하고 실행하여 testdb에 연결해 보겠습니다. 여기서는 postgres를 사용자 ID로 사용합니다. 123데이터베이스에 접근하는 비밀번호로 사용합니다. 데이터베이스 구성 및 설정에 따라 변경할 수 있습니다. 또한 현재 버전의 JDBC 드라이버 postgresql을 사용하는 것을 가정합니다.-9.2-1002.jdbc3.jar 파일이 현재 경로에서 사용 가능합니다。

C:\JavaPostgresIntegration>javac PostgreSQLJDBC.java
C:\JavaPostgresIntegration>java -cp c:\tools\postgresql-9.2-1002.jdbc3.jar;C:\JavaPostgresIntegration PostgresQLJDBC
데이터베이스 열림 성공

테이블 생성

이전에 열린 데이터베이스에서 테이블을 생성하는 Java 프로그램을 사용할 것입니다. 목표 데이터베이스에 이 테이블이 없도록 확인하세요

import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class PostgreSQLJDBC {
   public static void main( String args[] ) {
      Connection c = null;
      Statement stmt = null;
      try {
         Class.forName("org.postgresql.Driver");
         c = DriverManager
            .getConnection("jdbc:postgresql:")//localhost:5432/testdb",
            "manisha", "123");
         System.out.println("Opened database successfully");
         stmt = c.createStatement();
         String sql = \ +
            "(ID INT PRIMARY KEY     NOT NULL," +
            "NAME            TEXT    NOT NULL, \ +
            "AGE            INT     NOT NULL, \ +
            "ADDRESS        CHAR(50), \ +
            "SALARY         REAL)";
         stmt.executeUpdate(sql);
         stmt.close();
         c.close();
      } catch (Exception e) {
         System.err.println(e.getClass().getName());+: "+ e.getMessage());
         System.exit(0);
      }
      System.out.println("테이블 생성 성공");
   }
}

프로그램을 컴파일하고 실행할 때, testdb 데이터베이스에 COMPANY 테이블이 생성되고 다음 두 행이 표시됩니다-

데이터베이스 열림 성공
테이블 생성 성공

INSERT 작업

위의 예제에서 생성된 COMPANY 테이블에 기록을 생성하는 방법을 보여주는 다음 Java 프로그램입니다-

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class PostgreSQLJDBC {
   public static void main(String args[]) {
      Connection c = null;
      Statement stmt = null;
      try {
         Class.forName("org.postgresql.Driver");
         c = DriverManager
            .getConnection("jdbc:postgresql:")//localhost:5432/testdb",
            "manisha", "123");
         c.setAutoCommit(false);
         System.out.println("Opened database successfully");
         stmt = c.createStatement();
         
            + "VALUES (\1 32 20000.00 ");";
         stmt.executeUpdate(sql);
         sql = \
            + "VALUES (\2 25 15000.00 ");";
         stmt.executeUpdate(sql);
         sql = \
            + "VALUES (\3 23, \'Norway\', 20000.00 ");";
         stmt.executeUpdate(sql);
         sql = \
            + "VALUES (\4, \'Mark\ 25-Mond ' 65000.00 ");";
         stmt.executeUpdate(sql);
         stmt.close();
         c.commit();
         c.close();
      }
         System.err.println(e.getClass().getName());+: "+ e.getMessage());
         System.exit(0);
      }
      System.out.println("레코드가 성공적으로 생성되었습니다");
   }
}

在编译和执行上述程序时,它将在 COMPANY 表中创建给定的记录,并显示以下两行-

데이터베이스 열림 성공
记录创建成功

SELECT 操作

以下的Java程序展示了我们如何从上面示例中创建的COMPANY表中获取和显示记录

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class PostgreSQLJDBC {
   public static void main( String args[] ) {
      Connection c = null;
      Statement stmt = null;
      try {
         Class.forName("org.postgresql.Driver");
         c = DriverManager
            .getConnection("jdbc:postgresql:")//localhost:5432/testdb",
            "manisha", "123");
         c.setAutoCommit(false);
         System.out.println("Opened database successfully");
         stmt = c.createStatement();
         ResultSet rs = stmt.executeQuery("SELECT"}} * FROM COMPANY; ");
         while (rs.next()) {
            int id = rs.getInt("id");
            String name = rs.getString("name");
            int age = rs.getInt("age");
            String address = rs.getString("address");
            float salary = rs.getFloat("salary");
            System.out.println("ID = "); + id);
            System.out.println("NAME = "); + name);
            System.out.println("AGE = "); + age);
            System.out.println("ADDRESS = "); + address);
            System.out.println("SALARY = "); + salary);
            System.out.println();
         }
         rs.close();
         stmt.close();
         c.close();
      } catch (Exception e) {
         System.err.println(e.getClass().getName());+: "+ e.getMessage());
         System.exit(0);
      }
      System.out.println("操作 성공적으로 완료되었습니다");
   }
}

프로그램이 컴파일되고 실행될 때, 다음과 같은 결과가 생성됩니다

데이터베이스 열림 성공
ID = 1
NAME = Paul
AGE = 32
ADDRESS = 캘리포니아
SALARY = 20000.0
ID = 2
NAME = Allen
AGE = 25
ADDRESS = Texas
SALARY = 15000.0
ID = 3
NAME = Teddy
AGE = 23
ADDRESS = 노르웨이
SALARY = 20000.0
ID = 4
NAME = Mark
AGE = 25
ADDRESS = Rich-Mond
SALARY = 65000.0
操作 성공적으로 완료되었습니다

UPDATE 操作

以下的Java代码展示了如何使用UPDATE语句更新任何记录,然后从我们的COMPANY表中获取并显示更新后的记录

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class PostgreSQLJDBC {
   public static void main( String args[] ) {
      Connection c = null;
      Statement stmt = null;
      try {
         Class.forName("org.postgresql.Driver");
         c = DriverManager
            .getConnection("jdbc:postgresql:")//localhost:5432/testdb",
            "manisha", "123");
         c.setAutoCommit(false);
         System.out.println("Opened database successfully");
         stmt = c.createStatement();
         String sql = "UPDATE COMPANY set SALARY = " 25000.00 where ID=1;";
         stmt.executeUpdate(sql);
         c.commit();
         ResultSet rs = stmt.executeQuery("SELECT"}} * FROM COMPANY; ");
         while (rs.next()) {
            int id = rs.getInt("id");
            String name = rs.getString("name");
            int age = rs.getInt("age");
            String address = rs.getString("address");
            float salary = rs.getFloat("salary");
            System.out.println("ID = "); + id);
            System.out.println("NAME = "); + name);
            System.out.println("AGE = "); + age);
            System.out.println("ADDRESS = "); + address);
            System.out.println("SALARY = "); + salary);
            System.out.println();
         }
         rs.close();
         stmt.close();
         c.close();
      } catch (Exception e) {
         System.err.println(e.getClass().getName());+: "+ e.getMessage());
         System.exit(0);
      }
      System.out.println("操作 성공적으로 완료되었습니다");
   }
}

프로그램이 컴파일되고 실행될 때, 다음과 같은 결과가 생성됩니다

데이터베이스 열림 성공
ID = 2
NAME = Allen
AGE = 25
ADDRESS = Texas
SALARY = 15000.0
ID = 3
NAME = Teddy
AGE = 23
ADDRESS = 노르웨이
SALARY = 20000.0
ID = 4
NAME = Mark
AGE = 25
ADDRESS = Rich-Mond
SALARY = 65000.0
ID = 1
NAME = Paul
AGE = 32
ADDRESS = 캘리포니아
SALARY = 25000.0
操作 성공적으로 완료되었습니다

DELETE 操作

以下的Java代码展示了如何使用DELETE语句删除任何记录,然后从我们的COMPANY表中获取并显示剩余的记录

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class PostgreSQLJDBC6 {
   public static void main( String args[] ) {
      Connection c = null;
      Statement stmt = null;
      try {
         Class.forName("org.postgresql.Driver");
         c = DriverManager
            .getConnection("jdbc:postgresql:")//localhost:5432/testdb",
            "manisha", "123");
         c.setAutoCommit(false);
         System.out.println("Opened database successfully");
         stmt = c.createStatement();
         String sql = "DELETE from COMPANY where ID = " 2;";
         stmt.executeUpdate(sql);
         c.commit();
         ResultSet rs = stmt.executeQuery("SELECT"}} * FROM COMPANY; ");
         while (rs.next()) {
            int id = rs.getInt("id");
            String name = rs.getString("name");
            int age = rs.getInt("age");
            String address = rs.getString("address");
            float salary = rs.getFloat("salary");
            System.out.println("ID = "); + id);
            System.out.println("NAME = "); + name);
            System.out.println("AGE = "); + age);
            System.out.println("ADDRESS = "); + address);
            System.out.println("SALARY = "); + salary);
            System.out.println();
         }
         rs.close();
         stmt.close();
         c.close();
      } catch (Exception e) {
         System.err.println(e.getClass().getName());+: "+ e.getMessage());
         System.exit(0);
      }
      System.out.println("操作 성공적으로 완료되었습니다");
   }
}

프로그램이 컴파일되고 실행될 때, 다음과 같은 결과가 생성됩니다

데이터베이스 열림 성공
ID = 3
NAME = Teddy
AGE = 23
ADDRESS = 노르웨이
SALARY = 20000.0
ID = 4
NAME = Mark
AGE = 25
ADDRESS = Rich-Mond
SALARY = 65000.0
ID = 1
NAME = Paul
AGE = 32
ADDRESS = 캘리포니아
SALARY = 25000.0
操作 성공적으로 완료되었습니다