Felhasználói eszközök

Eszközök a webhelyen


oktatas:programozas:java:java_adatbazis:postgresql

< Java adatbázis

Java PostgreSQL elérése

Konnektor

Maven

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>42.7.1</version>
</dependency>

Kapcsolódás

Felhasználó létrehozása:

create role zoldzrt login password 'titok';
App.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
 
 
public class App {
    public static void main(String[] args) throws Exception {
        String url = "jdbc:postgresql://localhost/zoldzrt";
        Properties props = new Properties();
        props.setProperty("user", "zoldzrt");
        props.setProperty("password", "titok");
        props.setProperty("ssl", "ture");
        try {
            Connection conn = DriverManager.getConnection(url, props);
            System.out.println("Ok. A kapcsolódás sikeres.");
        } catch (SQLException e) {
            System.err.println("Hiba! A kapcsolódás sikertelen!");
        }
    }
}

Tábla készítése

Jog beállítása.

grant pg_read_all_data to zoldzrt;
grant pg_write_all_data to zoldzrt;
create_employees.sql
create table employees (
    id serial not null primary key,
    name varchar(50),
    city varchar(50),
    salary numeric,
    birth date
);

A pénznem legyen real, vagy numeric.

Beszúrás

App.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Properties;
import java.time.LocalDate;
 
public class App {
    public static void main(String[] args) throws Exception {
        String url = "jdbc:postgresql://localhost/zoldzrt";
        Properties props = new Properties();
        props.setProperty("user", "zoldzrt");
        props.setProperty("password", "titok");
        props.setProperty("ssl", "ture");
        try {
            Connection conn = DriverManager.getConnection(url, props);
            System.out.println("Ok. A kapcsolódás sikeres.");
            String sql = "insert into employees" +
            "(name, city, salary, birth)" +
            "values" +
            "(?, ?, ?, ?)";
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1, "Csintalan Ervin");
            ps.setString(2, "Hatvan");
            ps.setDouble(3, 396);
            ps.setDate(4, java.sql.Date.valueOf(LocalDate.parse("1998-04-02")));
            ps.execute();
        } catch (SQLException e) {
            System.err.println("Hiba!");
            System.err.println(e.getMessage());
        }
    }
}

Lekérdezés

App.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.util.Properties;
 
public class App {
    public static void main(String[] args) throws Exception {
        String url = "jdbc:postgresql://localhost/zoldzrt";
        Properties props = new Properties();
        props.setProperty("user", "zoldzrt");
        props.setProperty("password", "titok");
        props.setProperty("ssl", "ture");
        try {
            Connection conn = DriverManager.getConnection(url, props);
            System.out.println("Ok. A kapcsolódás sikeres.");
            String sql = "select * from employees";
            Statement st = conn.createStatement();
            ResultSet rs = st.executeQuery(sql);
            while(rs.next()) {
                System.out.printf(
                    "%d %15s %8s %.1f %s\n",
                    rs.getInt("id"),
                    rs.getString("name"),
                    rs.getString("city"),
                    rs.getDouble("salary"),
                    rs.getDate("birth")
                );
            }
        } catch (SQLException e) {
            System.err.println("Hiba!");
            System.err.println(e.getMessage());
        }
    }
}

Employee modell használata

Employee.java
import java.time.LocalDate;
 
public class Employee {
    int id;
    String name;
    String city;
    double salary;
    java.time.LocalDate birth;
 
    public Employee(int id, String name, String city, double salary, LocalDate birth) {
        this.id = id;
        this.name = name;
        this.city = city;
        this.salary = salary;
        this.birth = birth;
    }
 
    @Override
    public String toString() {
        return String.format(
            "%d %15s %8s %.1f %s",
        id, name, city, salary, birth
        );
    }
}
App.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.util.Properties;
 
public class App {
    public static void main(String[] args) throws Exception {
        String url = "jdbc:postgresql://localhost/zoldzrt";
        Properties props = new Properties();
        props.setProperty("user", "zoldzrt");
        props.setProperty("password", "titok");
        props.setProperty("ssl", "ture");
        try {
            Connection conn = DriverManager.getConnection(url, props);
            System.out.println("Ok. A kapcsolódás sikeres.");
            String sql = "select * from employees";
            Statement st = conn.createStatement();
            ResultSet rs = st.executeQuery(sql);
            while(rs.next()) {                
                Employee emp = new Employee(
                rs.getInt("id"),
                rs.getString("name"),
                rs.getString("city"),
                rs.getDouble("salary"),
                rs.getDate("birth").toLocalDate()
                );
                System.out.println(emp.toString());
            }
        } catch (SQLException e) {
            System.err.println("Hiba!");
            System.err.println(e.getMessage());
        }
    }
}

Update művelet

App.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Properties;
import java.time.LocalDate;
 
public class App {
    public static void main(String[] args) throws Exception {
        String url = "jdbc:postgresql://localhost/zoldzrt";
        Properties props = new Properties();
        props.setProperty("user", "zoldzrt");
        props.setProperty("password", "titok");
        props.setProperty("ssl", "ture");
        try {
            Connection conn = DriverManager.getConnection(url, props);
            System.out.println("Ok. A kapcsolódás sikeres.");
            String sql = "update employees set " +
                        "name=?, city=?, salary=?, birth=? "+
                        "where id=?";
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1, "Pere Irén");
            ps.setString(2, "Szeged");
            ps.setDouble(3, 393.5);
            ps.setDate(4, java.sql.Date.valueOf(LocalDate.parse("1999-05-07")));
            ps.setInt(5, 2);
            int affectedRows = ps.executeUpdate();
 
            System.out.println("Érintett sorok: " + affectedRows);
 
        } catch (SQLException e) {
            System.err.println("Hiba!");
            System.err.println(e.getMessage());
        }
    }
}

Törlés

App.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Properties;
 
public class App {
    public static void main(String[] args) throws Exception {
        String url = "jdbc:postgresql://localhost/zoldzrt";
        Properties props = new Properties();
        props.setProperty("user", "zoldzrt");
        props.setProperty("password", "titok");
        props.setProperty("ssl", "ture");
        try {
            Connection conn = DriverManager.getConnection(url, props);
            System.out.println("Ok. A kapcsolódás sikeres.");
            String sql = "delete from employees " +                        
                        "where id=?";
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setInt(1, 2);
            int affectedRows = ps.executeUpdate();
 
            System.out.println("Érintett sorok: " + affectedRows);
 
        } catch (SQLException e) {
            System.err.println("Hiba!");
            System.err.println(e.getMessage());
        }
    }
}
oktatas/programozas/java/java_adatbazis/postgresql.txt · Utolsó módosítás: 2024/01/19 19:52 szerkesztette: admin