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

Interfaz PostgreSQL JAVA

instalación

Empezar a usar PostgreSQL en nuestros programas Java Antes de eso, necesitamos asegurarnos de que PostgreSQL JDBC y Java estén configurados en la máquina. Puede ver Tutorial Java, para aprender a instalar Java. Ahora veremos cómo configurar el controlador postgresqljdbc.

  • Descargar la última versión de postgresql desde la dirección posterior-(version).jdbc.jar postgresql-jdbc descargar.

  • agregar el archivo jar descargado postgresql-(VERSION).jar, o puede combinarlo con-opción classpath junto con el siguiente ejemplo.

La siguiente parte asume que conoce el concepto de javajdbc. Si no es así, le recomendamos que dedique media hora a aprender el tutorial JDBC para familiarizarse con los conceptos explicados a continuación.

Conectar a la base de datos

El siguiente código Java muestra cómo conectarse a una base de datos existente. Si la base de datos no existe, se creará y finalmente se devolverá un objeto de base de datos.

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");
      catch (Exception e) {
         e.printStackTrace();
         System.err.println(e.getClass().getName())+: "+e.getMessage());
         System.exit(0);
      }
      System.out.println("Opened database successfully");
   }
}

Antes de compilar y ejecutar el programa superior, encuentre el archivo pg_hba.conf en la carpeta de instalación de PostgreSQL y cree un archivo, agregando las siguientes líneas:

# IPv4 conexiones locales:
host all all all         127.0.0.1/32          md5

Si el servidor postgres no está en ejecución, puede iniciarlo con el siguiente comando:/Reiniciar el servidor postgres:

Ahora, compilamos y ejecutamos el programa superior para conectarnos a testdb. Aquí, usamos postgres como ID de usuario: 123Como contraseña para acceder a la base de datos. Puede cambiarla según la configuración y configuración de la base de datos. Además, suponemos que la versión actual del controlador JDBC postgresql-9.2-1002.jdbc3.jar disponible en la ruta actual.

C:\JavaPostgresIntegration>javac PostgreSQLJDBC.java
C:\JavaPostgresIntegration>java -cp c:\tools\postgresql-9.2-1002.jdbc3.jar;C:\JavaPostgresIntegration PostgresSQLJDBC
Base de datos abierta con éxito

Crear tabla

El siguiente programa Java se utilizará para crear una tabla en la base de datos abierta anteriormente. Asegúrese de que no exista esta tabla en la base de datos de destino.

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("Tabla creada con éxito");
   }
}

Al compilar y ejecutar el programa, se creará la tabla COMPANY en la base de datos testdb y se mostrarán las siguientes dos líneas-

Base de datos abierta con éxito
Tabla creada con éxito

Operación INSERT

El siguiente programa Java muestra cómo crear registros en la tabla COMPANY creada en el ejemplo anterior-

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();
         String sql = \
            + "VALORES ("1, 'Paul' 32, 'California' 20000.00 ");";
         stmt.executeUpdate(sql);
         sql = \
            + "VALORES ("2, 'Allen' 25, 'Texas' 15000.00 ");";
         stmt.executeUpdate(sql);
         sql = \
            + "VALORES ("3, 'Teddy' 23, 'Norway' 20000.00 ");";
         stmt.executeUpdate(sql);
         sql = \
            + "VALORES ("4, 'Mark' 25, 'Rich-Mond ', 65000.00 ");";
         stmt.executeUpdate(sql);
         stmt.close();
         c.commit();
         c.close();
      catch (Exception e) {
         System.err.println( e.getClass().getName());+: "+ e.getMessage());
         System.exit(0);
      }
      System.out.println("Registros creados con éxito");
   }
}

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

Base de datos abierta con éxito
Records created successfully

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("Operación realizada con éxito");
   }
}

Cuando el programa se compila y ejecuta, se produce el siguiente resultado

Base de datos abierta con éxito
ID = 1
NAME = Paul
AGE = 32
ADDRESS = California
SALARY = 20000.0
ID = 2
NAME = Allen
AGE = 25
ADDRESS = Texas
SALARY = 15000.0
ID = 3
NAME = Teddy
AGE = 23
ADDRESS = Norway
SALARY = 20000.0
ID = 4
NAME = Mark
AGE = 25
ADDRESS = Rich-Mond
SALARY = 65000.0
Operación realizada con éxito

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("Operación realizada con éxito");
   }
}

Cuando el programa se compila y ejecuta, se produce el siguiente resultado

Base de datos abierta con éxito
ID = 2
NAME = Allen
AGE = 25
ADDRESS = Texas
SALARY = 15000.0
ID = 3
NAME = Teddy
AGE = 23
ADDRESS = Norway
SALARY = 20000.0
ID = 4
NAME = Mark
AGE = 25
ADDRESS = Rich-Mond
SALARY = 65000.0
ID = 1
NAME = Paul
AGE = 32
ADDRESS = California
SALARY = 25000.0
Operación realizada con éxito

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("Operación realizada con éxito");
   }
}

Cuando el programa se compila y ejecuta, se produce el siguiente resultado

Base de datos abierta con éxito
ID = 3
NAME = Teddy
AGE = 23
ADDRESS = Norway
SALARY = 20000.0
ID = 4
NAME = Mark
AGE = 25
ADDRESS = Rich-Mond
SALARY = 65000.0
ID = 1
NAME = Paul
AGE = 32
ADDRESS = California
SALARY = 25000.0
Operación realizada con éxito