Boa tarde galera,
Gostaria de pedir a ajuda dos colegas pois não estou entendendo ainda muito bem essa parte sobre “Enum” e precisava salvar no banco de dados JDBC um valor contido nesse campo. Segue abaixo meu código para esclarecer melhor o que preciso.
Tenho uma classe Conta, aonde criei um Enum TipoConta {Conta_a_pagar, Conta_a_receber }
’ public class Conta {
private int id;
private int pessoaId;
private double valor;
private LocalDate dataVencimento;
/**
* ENUM TIPO DE CONTA (PODENDO SER UMA CONTA A PAGAR, OU A RECEBER)
*/
public enum TipoConta {
Conta_a_pagar(1), Conta_a_receber(2);
private int valor;
private String descricao;
private TipoConta(int valor) {
this.valor = valor;
if(this.valor == 1) {
this.setDescricao("Conta a Pagar");
}
else {
this.setDescricao("Conta a Receber");
}
}
private void setDescricao(String descricao) {
this.descricao = descricao;
}
private String getDescricao() {
return this.descricao;
}
}
`
Agora, essa é ação que é executada quando eu clico no meu botão “salvar” contido no formulário exibido para o usuário.
Conta c = new Conta(); ContaDao dao = new ContaDao(); c.setPessoaId(cbPessoa3.getSelectedIndex()); /* Sendo que não sei uma forma hoje de salvar o valor escolhido no combobox para enviar para minha classe DAO */ c.setTipoConta(cbTipoConta.getSelectedIndex()); dao.salvar(c);
A dúvida também ocorre na classe DAO
`
public void Salvar(Conta c) {
String sql = “insert into conta (tipoconta, pessoaId, categoriaId, subcategoriaId, valor, dataVencimento, statusConta) VALUES (?,?,?,?,?,?,?)”;
try (PreparedStatement stmt = connection.prepareStatement(sql)){
/* Como salvar esse campo no banco? */
stmt.setString(1,c.getTipoConta().getDescricao());
stmt.setInt(2,c.getPessoaId());
`
Desde já ficarei grato por qualquer ajuda.