I'm not able to get a successful post with the JSON above because of the date.
{
"NM_CLIENTE": "John Doe",
"ML_CLIENTE": "[email protected]",
"NR_CPF": "123.456.789-01",
"DT_NASCIMENTO": "10-10-1990",
"GN_CLIENTE": "M",
"NR_CELULAR": "987654321",
"NR_CEP": "54321-678",
"ST_ALERGIA": "N",
"DS_ALERGIA": null,
"ST_MEDICAMENTOS": "N",
"DS_MEDICAMENTOS": null
}
Meanwhile, when I try to insert by SQL, it's ok. Like this:
INSERT INTO t_cliente
(nm_cliente, ml_cliente, nr_cpf, dt_nascimento, gn_cliente, nr_celular, nr_cep, st_alergia, ds_alergia, st_medicamentos, ds_medicamentos)
VALUES ('João Silva', '[email protected]', '111.111.111-11', TO_DATE('01-01-1990', 'DD-MM-YYYY'), 'M', '999999999', '12345-678', 'N', NULL, 'N', NULL);
Here's my DAO Class.
public void create(Cliente cliente) throws SQLException, ClassNotFoundException {
classForName();
try (Connection con = DriverManager.getConnection(URL, USER, PASS)) {
String sql = "INSERT INTO T_CLIENTE (NM_CLIENTE, ML_CLIENTE, NR_CPF, DT_NASCIMENTO, GN_CLIENTE, NR_CELULAR, NR_CEP, ST_ALERGIA, DS_ALERGIA, ST_MEDICAMENTOS, DS_MEDICAMENTOS) VALUES (?, ?, ?, TO_DATE(?, 'DD-MM-YYYY'), ?, ?, ?, ?, ?, ?, ?)";
try (PreparedStatement instrucao = con.prepareStatement(sql)) {
instrucao.setString(1, cliente.getNomeCliente());
instrucao.setString(2, cliente.getEmailCliente());
instrucao.setString(3, cliente.getCpf());
instrucao.setString(4, cliente.getDataNascimento().toString());
instrucao.setString(5, String.valueOf(cliente.getGeneroCliente()));
instrucao.setString(6, cliente.getNumeroCelular());
instrucao.setString(7, cliente.getCep());
instrucao.setString(8, String.valueOf(cliente.getPossuiAlergia()));
instrucao.setString(9, cliente.getDescricaoAlergia());
instrucao.setString(10, String.valueOf(cliente.getUtilizaMedicamentos()));
instrucao.setString(11, cliente.getDescricaoMedicamentos());
instrucao.executeUpdate();
}
}
}