Installasjon
Før vi begynner å bruke PostgreSQL i våre Java-programmer vi må sørge for at vi har PostgreSQL JDBC og Java satt opp på maskinen. Du kan sjekke Java tutorial for Java installasjon på maskinen din. Nå la oss sjekke hvordan du setter opp PostgreSQL JDBC driver.
Last ned siste versjon av postgresql- (VERSION) .jdbc.jar
fra postgresql-jdbc depotet.
Legg nedlastet jar file postgresql- (VERSION) .jdbc.jar
i klassen din vei, eller du kan bruke den sammen med -classpath alternativ som forklart nedenfor i eksemplene.
Etter § forutsetter at du har lite kunnskap om Java JDBC konsepter. Hvis du ikke gjør det, er det foreslått å brukte en halv time med JDBC Tutorial å bli komfortabel med begreper forklart nedenfor.
Koble til Database
Etter Java-kode viser hvordan du kobler til en eksisterende database. Hvis databasen ikke eksisterer, så vil det bli opprettet, og til slutt et databaseobjekt vil bli returnert
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 ("Åpnet database vellykket"); }}
Før du kompilere og kjøre programmet ovenfor, finner pg_hba.conf
fil i PostgreSQL installasjonsmappen og legge til følgende linje:
# IPv4 lokale tilkoblinger: vert alle alle 127.0.0.1/32 md5
Du kan starte /restarte postgres server i tilfelle det ikke er i gang ved hjelp av følgende kommando: product: [root @ host] # tjenesten postgresql restartStopping postgresql tjeneste: [OK] Starting postgresql tjeneste: [OK]
Nå, la oss kompilere og kjøre over programmet for å få forbindelse med testdb. Her bruker vi postgres
som bruker-ID og 123
som passord for å få tilgang til databasen. Du kan endre dette som per database konfigurasjon og oppsett. Vi er også forutsatt at gjeldende versjon av JDBC driver postgresql-9.2-1002.jdbc3.jar
er tilgjengelig i den nåværende banen
C: \\ JavaPostgresIntegration > javac PostgreSQLJDBC.javaC: \\ JavaPostgresIntegration > java -cp c : \\ tools \\ PostgreSQL-9.2-1002.jdbc3.jar; C: \\ JavaPostgresIntegration PostgreSQLJDBCOpen database hell
Lag en tabell
Etter Java-programmet vil bli brukt til å opprette en tabell i tidligere åpnet database. Pass på at du ikke har dette bordet allerede i måldatabasen
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; Uttalelse stmt = null; try {Class.forName ("org.postgresql.Driver"); c = DriverManager .getConnection ("jdbc: postgresql: //localhost: 5432 /testdb", "manisha", "123"); System.out.println ("Åpnet database vellykket"); stmt = c.createStatement (); String sql = "CREATE TABLE COMPANY" + "(ID INT PRIMARY KEY NOT NULL," + "NAME TEKST NOT NULL," + "AGE INT NOT NULL," + "ADRESSE CHAR (50)," + "LØNN 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 ("Table opprettet"); }}
Når programmet er kompilert og henrettet, det vil skape COMPANY bord i testdb
database og vil vise følgende to linjer:
Åpnet database successfullyTable opprettet
INSERT Operation Anmeldelser
Etter Java-program viser hvordan vi kan opprette poster i vårt selskap tabellen opprettet i eksempelet ovenfor:
import java.sql.Connection, import java.sql.DriverManager, import java.sql.Statement; public class PostgreSQLJDBC {public static void main (String args []) {Connection c = null; Uttalelse stmt = null; try {Class.forName ("org.postgresql.Driver"); c = DriverManager .getConnection ("jdbc: postgresql: //localhost: 5432 /testdb", "manisha", "123"); c.setAutoCommit (false); System.out.println ("Åpnet database vellykket"); stmt = c.createStatement (); String sql = "INSERT INTO COMPANY (ID, navn, alder, adresse, LØNN)" + "VALUES (1, 'Paul', 32," California ", 20000.00);"; stmt.executeUpdate (sql); sql = "INSERT INTO COMPANY (ID, navn, alder, adresse, LØNN)" + "VERDIER (2, 'Allen', 25 'Texas', 15000.00);"; stmt.executeUpdate (sql); sql = "INSERT INTO COMPANY (ID, navn, alder, adresse, LØNN)" + "VALUES (3, 'Teddy', 23 'Norge', 20000.00);"; stmt.executeUpdate (sql); sql = "INSERT INTO COMPANY (ID, navn, alder, adresse, LØNN)" + "VERDIER (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 ("Records opprettet"); }}
Når programmet kompilert og henrettet, vil det skape gitt poster i COMPANY bordet og vil vise følgende to linjer:
Åpnet database successfullyRecords opprettet
Velg operasjon
Etter Java-programmet viser hvordan vi kan hente og vise poster fra vårt selskap bord opprettet i eksempelet ovenfor:
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; Uttalelse stmt = null; try {Class.forName ("org.postgresql.Driver"); c = DriverManager .getConnection ("jdbc: postgresql: //localhost: 5432 /testdb", "manisha", "123"); c.setAutoCommit (false); System.out.println ("Åpnet database vellykket"); stmt = c.createStatement (); ResultSet rs = stmt.executeQuery ("SELECT * FROM COMPANY;"); while (rs.next ()) {int id = rs.getInt ("id"); String name = rs.getString ("navn"); int alder = rs.getInt ("age"); String adresse = rs.getString ("adresse"); flyte lønn = rs.getFloat ("lønn"); System.out.println ("ID =" + id); System.out.println ("name =" + navn); System.out.println ("AGE =" + alder); System.out.println ("ADRESSE =" + adresse); System.out.println ("lønn =" + lønn); 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 ("Operation gjort med hell"); }}
Når programmet kompilert og henrettet, vil det produsere følgende resultat:
Åpnet database successfullyID = 1NAME = PaulAGE = 32ADDRESS = CaliforniaSALARY = 20000.0ID = 2NAME = AllenAGE = 25ADDRESS = TexasSALARY = 15000.0ID = 3NAME = TeddyAGE = 23ADDRESS = NorwaySALARY = 20000.0ID = 4NAME = MarkAGE = 25ADDRESS = Rich-MondSALARY = 65000.0Operation gjort med hell
UPDATE Operation
Etter Java-kode viser hvordan vi kan bruke UPDATE statement å oppdatere posten og deretter hente og vise oppdaterte poster fra vårt selskap bordet:
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; Uttalelse stmt = null; try {Class.forName ("org.postgresql.Driver"); c = DriverManager .getConnection ("jdbc: postgresql: //localhost: 5432 /testdb", "manisha", "123"); c.setAutoCommit (false); System.out.println ("Åpnet database vellykket"); stmt = c.createStatement (); String sql = "UPDATE selskapet satt LØNN = 25000.00 hvor 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 ("navn"); int alder = rs.getInt ("age"); String adresse = rs.getString ("adresse"); flyte lønn = rs.getFloat ("lønn"); System.out.println ("ID =" + id); System.out.println ("name =" + navn); System.out.println ("AGE =" + alder); System.out.println ("ADRESSE =" + adresse); System.out.println ("lønn =" + lønn); 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 ("Operation gjort med hell"); }}
Når programmet kompilert og henrettet, vil det produsere følgende resultat:
Åpnet database successfullyID = 2NAME = AllenAGE = 25ADDRESS = TexasSALARY = 15000.0ID = 3NAME = TeddyAGE = 23ADDRESS = NorwaySALARY = 20000.0ID = 4NAME = MarkAGE = 25ADDRESS = Rich-MondSALARY = 65000.0ID = 1NAME = PaulAGE = 32ADDRESS = CaliforniaSALARY = 25000.0Operation gjort med hell
Slett Operation
Etter Java-kode viser hvordan vi kan bruke DELETE-setningen til å slette posten og deretter hente og vise resterende postene fra vårt selskap bordet:
import java.sql.Connection, importere java.sql.DriverManager, importere java.sql.ResultSet, import java.sql.Statement; public class PostgreSQLJDBC6 {public static void main (String args []) {Connection c = null; Uttalelse stmt = null; try {Class.forName ("org.postgresql.Driver"); c = DriverManager .getConnection ("jdbc: postgresql: //localhost: 5432 /testdb", "manisha", "123"); c.setAutoCommit (false); System.out.println ("Åpnet database vellykket"); stmt = c.createStatement (); String sql = "SLETT fra selskap hvor 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 ("navn"); int alder = rs.getInt ("age"); String adresse = rs.getString ("adresse"); flyte lønn = rs.getFloat ("lønn"); System.out.println ("ID =" + id); System.out.println ("name =" + navn); System.out.println ("AGE =" + alder); System.out.println ("ADRESSE =" + adresse); System.out.println ("lønn =" + lønn); 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 ("Operation gjort med hell"); }}
Når programmet kompilert og henrettet, vil det produsere følgende resultat:
Åpnet database successfullyID = 3NAME = TeddyAGE = 23ADDRESS = NorwaySALARY = 20000.0ID = 4NAME = MarkAGE = 25ADDRESS = Rich-MondSALARY = 65000.0ID = 1NAME = PaulAGE = 32ADDRESS = CaliforniaSALARY = 25000.0Operation gjort med suksess