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