Cómo insertar y devolver una instancia de Empleado (patrón DAO)
En el método save()
recibo como entrada una instancia de Employee, y quiero agregarla a la tabla employee
y devolver esta instancia agregada. He leído sobre este problema pero no encontré una respuesta a mi problema.
public Employee save(Employee employee) throws SQLException {
Connection connection = ConnectionSource.instance().createConnection();
String sql = "insert into employee VALUES(" +employee.getId() + ", '" +
employee.getFullName().getFirstName() + "', '" +
employee.getFullName().getLastName() + "', '" +
employee.getFullName().getMiddleName() + "', '" +
employee.getPosition() + "', '" +
employee.getHired() + "', " +
employee.getSalary() + ", " +
employee.getManagerId() + ", " +
employee.getDepartmentId() + ")";
connection.prepareStatement(sql);
PreparedStatement ps2 = connection.prepareStatement("select * from employee");
ResultSet resultSet = ps2.executeQuery();
resultSet.next();
Employee emp = new Employee(... );
return emp;
}
davy.ai
Solución:
Para agregar la instancia
Empleado
a la tablaemployee
y devolver la instancia agregada, debes seguir estos pasos:INSERT
utilizando marcadores de posición ‘?’ para los valores y utilizando los métodosPreparedStatement#setXXX()
para establecer los valores de los marcadores de posición a las propiedades correspondientes de la instanciaemployee
.INSERT
, puedes obtener la instanciaEmpleado
agregada ejecutando una consultaSELECT
con una cláusulaWHERE
basada en el valorid
delemployee
.PreparedStatement
yConnection
para liberar los recursos.