1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
package com.test;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class PersonDAO
{
private static PersonDAO personDAO;
private PersonDAO() {}
public static PersonDAO getInstance()
{
if (personDAO == null)
{
personDAO = new PersonDAO();
}
return personDAO;
}
public Integer addPerson(String firstName, String lastName, String address, String zip, String city) throws Exception
{
Connection connection = null;
Integer uid = 0;
try
{
connection = DataBaseUtils.getConnection();
PreparedStatement pstmt = connection.prepareStatement("insert into T_PERSON(FIRST_NAME, LAST_NAME, ADDRESS, ZIP, CITY) values(?, ?, ?, ?, ?)");
pstmt.setString(1, firstName);
pstmt.setString(2, lastName);
pstmt.setString(3, address);
pstmt.setString(4, zip);
pstmt.setString(5, city);
pstmt.executeUpdate();
connection.commit(); // <- si autocommit = false
ResultSet rs = pstmt.getGeneratedKeys();
if(rs.next()) uid = rs.getInt(1);
}
catch (Exception e)
{
// logger
throw e;
}
finally
{
if (connection != null) connection.close();
}
return uid;
}
public void removePerson(Integer uid) throws Exception
{
Connection connection = null;
try
{
connection = DataBaseUtils.getConnection();
PreparedStatement pstmt = connection.prepareStatement("delete from T_PERSON where UID = ?");
pstmt.setInt(1, uid);
pstmt.executeUpdate();
connection.commit(); // <- si autocommit = false
}
catch (Exception e)
{
// logger
throw e;
}
finally
{
if (connection != null) connection.close();
}
}
} |