diff --git a/postgres_java/pom.xml b/postgres_java/pom.xml index e0b5337..3027547 100644 --- a/postgres_java/pom.xml +++ b/postgres_java/pom.xml @@ -38,7 +38,7 @@ exec-maven-plugin 1.6.0 - de.swingbe.postgres_java.JavaPostgreSqlRetrieve + de.swingbe.postgres_java.JavaPostgreSqlProperties @@ -85,7 +85,7 @@ implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> - de.swingbe.postgres_java.JavaPostgreSqlRetrieve + de.swingbe.postgres_java.JavaPostgreSqlProperties diff --git a/postgres_java/src/main/java/de/swingbe/postgres_java/JavaPostgreSqlProperties.java b/postgres_java/src/main/java/de/swingbe/postgres_java/JavaPostgreSqlProperties.java new file mode 100644 index 0000000..6295a7d --- /dev/null +++ b/postgres_java/src/main/java/de/swingbe/postgres_java/JavaPostgreSqlProperties.java @@ -0,0 +1,61 @@ +package de.swingbe.postgres_java; + +import java.io.BufferedReader; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.sql.*; +import java.util.Properties; +import java.util.logging.Level; +import java.util.logging.Logger; + +public class JavaPostgreSqlProperties { + + public static Properties readProperties() { + + Properties props = new Properties(); + Path path = Paths.get("src/main/resources/database.properties"); + + try { + BufferedReader br = Files.newBufferedReader(path, StandardCharsets.UTF_8); + props.load(br); + } catch (IOException e) { + Logger.getLogger(JavaPostgreSqlProperties.class.getName()).log( + Level.SEVERE, null, e); + } + return props; + } + + public static void main(String[] args) { + + Properties props = readProperties(); + + String url = props.getProperty("db.url"); + String user = props.getProperty("db.user"); + String password = props.getProperty("db.password"); + + //get all columns from a table + String query = "SELECT * FROM authors"; + + //create prepared statement using placeholders instead of directly writing values + try (Connection con = DriverManager.getConnection(url, user, password); + PreparedStatement pst = con.prepareStatement(query); + ResultSet rs = pst.executeQuery()) { + + //advance cursor to the next record + //return false if there are no more records in the result set + while (rs.next()) { + System.out.print(rs.getInt(1)); + System.out.print(" | "); + System.out.println(rs.getString(2)); + } + + } catch (SQLException ex) { + + Logger lgr = Logger.getLogger(JavaPostgreSqlProperties.class.getName()); + lgr.log(Level.SEVERE, ex.getMessage(), ex); + } + } +} diff --git a/postgres_java/src/main/resources/database.properties b/postgres_java/src/main/resources/database.properties new file mode 100644 index 0000000..13c70b6 --- /dev/null +++ b/postgres_java/src/main/resources/database.properties @@ -0,0 +1,3 @@ +db.url=jdbc:postgresql://localhost:5432/testdb +db.user=usr +db.passwd=password