Ajudem ai galera, sou novo em programação e tou tendo dificuldade na substituição dos parametros

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);
    }
  }
}

Pelo seu código, vc está preparando para executar o insert, mas não executa de fato. Faltou chamar o executeUpdate do PreparedStatement.

DOCS: PreparedStatement (Java Platform SE 7 )

Mi refiro a esta parte qual é o correto (para o int, double, Boolean)


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());
```
[/quote]

Uai, parece certo pra mim desse jeito que vc fez. Está dando algum erro?