JAVA - Como alterar registro gravado no banco de dados pelo botão

1 resposta
programaçãojavamysql
G

Então, sou novato em Java, e desejaria concluir meu projeto (Um sistema simples de Controle de estoque e registro de vendas para uma Mercearia) utilizando FXML para as telas, JPA para mapear o banco no mySQL, e o eclipse para programar o software.

Meu método de cadastro de produtos já está pronto, porém não tenho ideia de como alterar os registros já feitos utilizando o método de um botão, necessito de ajuda. Obrigado

Classe Produto:

@Entity
public class Produto {

@Id
private String numero;
private String nome;
private Double preco;

public Produto() {
}

public Produto(String numero, String nome, Double preco) {
	this.numero = numero;
	this.nome = nome;
	this.preco = preco;
}


public String getNumero() {
	return numero;
}

public void setNumero(String numero) {
	this.numero = numero;
}

public String getNome() {
	return nome;
}

public void setNome(String nome) {
	this.nome = nome;
}

public Double getPreco() {
	return preco;
}

public void setPreco(Double preco) {
	this.preco = preco;
}

Classe ProdutoDAO:

public class ProdutoDAO {

public boolean cadastrar(Produto produto){

	boolean resp = false;
	
	EntityManager em = JPAUtil.geEntityManager();
	
	try {
		em.getTransaction().begin();
		em.persist(produto);
		em.getTransaction().commit();
		
		resp = true;
		
		
	} catch (Exception e) {
		
		Alert a = new Alert( AlertType.ERROR);
		a.setHeaderText("ERRO PRODUTO");
		a.setContentText(e.getMessage());
		a.show();
	}
	
	return resp;
	
	
}

CadastroCTR:

public class CadastroCTR implements Initializable {

@FXML
private Button bVoltar;

@FXML
private TextField PrecoUnit;

@FXML
private TextField DescricaoProduto;

@FXML
private TextField NomeProduto;

@FXML
private Button bSalvar;

@FXML
private TextField codProduto;

@Override
public void initialize(URL location, ResourceBundle resources) {

	bVoltar.setOnAction( c ->{
		Principal.definirLayout("main");			
	});
		
	
	bSalvar.setOnAction(s -> {

		Produto p1 = new Produto(codProduto.getText(), NomeProduto.getText(), Double.valueOf(PrecoUnit.getText()));

		ProdutoDAO cp = new ProdutoDAO();

		if (cp.cadastrar(p1)) {

			Alert a = new Alert(AlertType.INFORMATION);
			a.setHeaderText("PRODUTO");
			a.setContentText("PRODUTO CADASTRADO COM SUCESSO !!!");
			a.show();

		}

	});

}

1 Resposta

R

No evento do botão vc aciona seu método editar ou salvar da sua DAO informando o objeto já com seus novos valores. Na DAO vc fará fará persist ou merge com seu objeto.

Criado 16 de junho de 2018
Ultima resposta 18 de jun. de 2018
Respostas 1
Participantes 2