Tenho a classe Livro:
public class Livro {
private int id;
private String titulo;
private String autor;
private int edicao;
private String editora;
private int ano;
private String codigo;
private int exemplares;
private double preco;
private Date lancamento;
private boolean disponivel;
private char area;
}
A dificuldade esta na class DAO quanto a substituição dos parametros:
package model;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class DAO {
/**Modulo de conexão**/
//Paramentroa de conexao
private String driver = "com.mysql.cj.jdbc.Driver";
private String url = "jdbc:mysql://127.0.0.1:3306/dblivraria?useTimezone=true&serverTimezone=UTC";
private String user = "root";
private String password = "Bernardojb";
//Metodo de conexão
@SuppressWarnings("unused")
private Connection conectar() {
Connection con = null;
try {
Class.forName(driver);
con = DriverManager.getConnection(url, user, password);
return con;
} catch (Exception e) {
System.out.println(e);
return null;
}
}
/***Crud Create ***/
public void inserirLivro(Livro livro) {
String create = "insert into livros (titulo, autor, edicao, editora, ano, codigo, exemplares, preco, lancamento, disponivel, area) values(?,?,?,?,?,?,?,?,?,?,?)";
try {
//abrir conexao
Connection con = conectar();
//Preparar a query no banco
PreparedStatement pst = con.prepareStatement(create);
//substituir os parametros das variaveis
pst.setNString(1, livro.getTitulo());
pst.setNString(2, livro.getAutor());
pst.setInt(3, livro.getEdicao());
pst.setNString(4, livro.getEditora());
pst.setInt(5, livro.getAno());
pst.setNString(6, livro.getCodigo());
pst.setInt(7, livro.getExemplares());
pst.setDouble(8, livro.getPreco));
pst.setDate(9, new java.sql.Date(livro.getLancamento().getTime()));
pst.setBoolean(10, livro.isDisponivel());
pst.setChar(11, livro.getArea());
} catch (Exception e) {
System.out.println(e);
}
}
}