added Anagrafica table with insert method

This commit is contained in:
Lorenzo Bianchi 2023-09-04 15:38:09 +02:00
parent 3a71bdb29b
commit 7509194c12
6 changed files with 57 additions and 37 deletions

View File

@ -0,0 +1,25 @@
import java.sql.Connection;
import java.sql.SQLException;
public class Anagrafica extends Table{
public Anagrafica(Connection connection, String name, String statement) throws SQLException {
super(connection, name, statement);
}
public void insert(UserData userdata) throws SQLException {
var stmt = connection.prepareStatement("INSERT INTO anagrafica VALUES (?, ?, ?, '2000-10-10', ?, ?, null, ?)");
stmt.setString(1, userdata.getCodiceFiscale());
stmt.setString(2, userdata.getNome());
stmt.setString(3, userdata.getCogNome());
//stmt.setString(4, userdata.getDataNascita().toString());
stmt.setString(4, userdata.getLuogoNascita());
stmt.setLong(5, userdata.getNumFiscale());
stmt.setString(6, userdata.getPassword());
System.out.println(stmt);
stmt.executeUpdate();
}
}

View File

@ -0,0 +1,9 @@
public enum CategorieAppartenenza {
GAY,
FROCI,
DOWN,
SPASTICI,
EDI,
WEEB
}

View File

@ -19,6 +19,6 @@ public class Data implements Comparable<Data>{
}
public String toString() {
return giorno + "-" + mese + "-" + anno;
return anno + "-" + mese + "-" + giorno;
}
}

View File

@ -1,5 +1,6 @@
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class Main {
@ -11,31 +12,26 @@ public class Main {
"neto", "fethergay");
//TODO: rimuovi gay e frocio
var stmt = connection.prepareStatement("DO $$ BEGIN "
+ "CREATE TYPE categoria_appartenenza AS ENUM ('gay', 'frocio');"
+ "EXCEPTION "
+ "WHEN duplicate_object THEN null; "
+ "END $$;");
stmt.execute();
Table anagrafica = new Table(connection, "anagrafica", "CREATE TABLE IF NOT EXISTS anagrafica("
Anagrafica anagrafica = new Anagrafica(connection, "anagrafica", "CREATE TABLE IF NOT EXISTS anagrafica("
+ "codice_fiscale VARCHAR(16) PRIMARY KEY,"
+ "nome VARCHAR(16) NOT NULL,"
+ "cognome VARCHAR(16) NOT NULL,"
+ "data_nascita DATE,"
+ "luogo_nascita VARCHAR(32),"
+ "num_sanitario BIGINT,"
+ "categorie_appartenenze categoria_appartenenza[],"
+ "categorie_appartenenze VARCHAR(16)[],"
+ "password VARCHAR(16)"
+ ")");
UserData edi = new UserData("Edi", "DeCandido", "1234", new Data(20, 07, 2023), "Marte", "fethergay");
UserData edi = new UserData("Edi", "DeCandido", "1234", new Data(20, 07, 2023), "Marte", 666, "fethergay");
System.out.println(edi);
PreparedStatement stmt = connection.prepareStatement("DELETE FROM anagrafica");
stmt.execute();
anagrafica.insert(edi);
System.out.println("ok");
}
public boolean Registrazione(String nome, String cognome, String codice_fiscale, Data data_nascita, String luogo_nascita, String password) {

View File

@ -15,26 +15,4 @@ public class Table {
var stmt = connection.prepareStatement(statement);
stmt.execute();
}
public void insert(UserData userdata) throws SQLException {
var stmt = connection.prepareStatement("INSERT INTO anagrafica VALUES(codice_fiscale=?, nome=?, cognome=?, data_nascita=? luogo_nascita=?, categorie_appartenenza=?, password=?");
stmt.setString(1, userdata.getCodiceFiscale());
stmt.setString(2, userdata.getNome());
stmt.setString(3, userdata.getCogNome());
stmt.executeUpdate();
System.out.println(stmt);
execute(stmt);
}
//TODO: SELECT
//TODO: UPDATE
//TODO: DELETE
}

View File

@ -7,16 +7,18 @@ public class UserData {
private final String cognome;
private final Data data_nascita;
private final String luogo_nascita;
private final long num_sanitario;
//TODO: non so farlo, List categoria_appartenenza = new ArrayList<>();
private final String password;
public UserData(String nome, String cognome, String codice_fiscale, Data data_nascita, String luogo_nascita, String password) {
public UserData(String nome, String cognome, String codice_fiscale, Data data_nascita, String luogo_nascita, long num_sanitario, String password) {
this.nome = nome;
this.cognome = cognome;
this.data_nascita = data_nascita;
this.luogo_nascita = luogo_nascita;
this.codice_fiscale = codice_fiscale;
this.num_sanitario = num_sanitario;
// this.categoria_apparteneza = categoria_appartenenza;
this.password = password;
}
@ -24,8 +26,8 @@ public class UserData {
public String toString() {
return codice_fiscale + ", "
+ nome + ", "
+ cognome + ", to_date('"
+ data_nascita + "', 'dd-mm-yyyy'), "
+ cognome + ", "
+ data_nascita + ", "
+ luogo_nascita + ", "
+ password;
}
@ -50,4 +52,14 @@ public class UserData {
return luogo_nascita;
}
public long getNumFiscale() {
return num_sanitario;
}
public String getPassword() {
return password;
}
}