package zti.model1; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; public class Database { private Person person; private Connection conn = null; private PreparedStatement prestmt = null; private Statement stmt = null; private ResultSet rset = null; private List list = new ArrayList(); public Database() { try { Context context = new InitialContext(); DataSource ds1 = (DataSource) context.lookup("java:comp/env/jdbc/postgres"); conn = ds1.getConnection(); } catch (NamingException ex) { System.out.println(ex.getMessage()); } catch (SQLException ex) { System.out.println(ex.getMessage()); } } public void createPerson(Person person) { try { prestmt = conn.prepareStatement("INSERT INTO person (fname, lname, email, city, tel) VALUES (?,?,?,?, ?)"); prestmt.setString(1, person.getFname()); prestmt.setString(2, person.getLname()); prestmt.setString(3, person.getEmail()); prestmt.setString(4, person.getCity()); prestmt.setString(5, person.getTel()); prestmt.executeUpdate(); } catch (SQLException ex) { System.out.println(ex.getMessage()); } finally { try { if (prestmt != null) { prestmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException ex) { System.out.println(ex.getMessage()); } } return; } public void deletePerson(String id) { try { // System.out.println("Deleted record" + id); Integer ident = Integer.parseInt(id); prestmt = conn.prepareStatement("DELETE FROM person WHERE id = ?"); prestmt.setInt(1, ident); prestmt.executeUpdate(); } catch (SQLException ex) { System.out.println(ex.getMessage()); } finally { try { if (prestmt != null) { prestmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException ex) { System.out.println(ex.getMessage()); } } return; } public Person readPerson(String id) { try { Integer ident = Integer.parseInt(id); prestmt = conn.prepareStatement("SELECT * FROM person WHERE id = ? "); prestmt.setInt(1, ident); ResultSet rset = prestmt.executeQuery(); person = new Person(); while (rset.next()) { person.setFname(rset.getString("fname")); person.setLname(rset.getString("lname")); person.setEmail(rset.getString("email")); person.setTel(rset.getString("tel")); person.setCity(rset.getString("city")); person.setId(rset.getInt("id")); } } catch (SQLException ex) { System.out.println(ex.getMessage()); } finally { try { if (prestmt != null) { prestmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException ex) { System.out.println(ex.getMessage()); } } return person; } public void updatePerson(Person person) { try { // System.out.println("Deleted record" + person.getId()); prestmt = conn.prepareStatement("UPDATE person SET fname=?,lname=?,email=?,city=?,tel=? WHERE id = ?"); prestmt.setString(1, person.getFname()); prestmt.setString(2, person.getLname()); prestmt.setString(3, person.getEmail()); prestmt.setString(4, person.getCity()); prestmt.setString(5, person.getTel()); prestmt.setInt(6, person.getId()); prestmt.executeUpdate(); } catch (SQLException ex) { System.out.println(ex.getMessage()); } finally { try { if (prestmt != null) { prestmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException ex) { System.out.println(ex.getMessage()); } } return; } public List getPersonList() { try { stmt = conn.createStatement(); String sql = "SELECT * FROM public.person ORDER BY lname"; rset = stmt.executeQuery(sql); while (rset.next()) { person = new Person(); person.setFname(rset.getString("fname")); person.setLname(rset.getString("lname")); person.setEmail(rset.getString("email")); person.setTel(rset.getString("tel")); person.setCity(rset.getString("city")); person.setId(rset.getInt("id")); list.add(person); } rset.close(); } catch (SQLException ex) { System.out.println(ex.getMessage()); } finally { try { if (prestmt != null) { prestmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException ex) { System.out.println(ex.getMessage()); } } return list; } }