English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
우리의 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 테이블이 생성되고 다음 두 행이 표시됩니다-
데이터베이스 열림 성공 테이블 생성 성공
위의 예제에서 생성된 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 表中创建给定的记录,并显示以下两行-
데이터베이스 열림 성공 记录创建成功
以下的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 操作 성공적으로 완료되었습니다
以下的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 操作 성공적으로 완료되었습니다
以下的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 操作 성공적으로 완료되었습니다