Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Inserção com parâmetro na Doceria

Implementei o que foi visto na aula na minha classe Doceria.

package doceria;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class InsercaoParametro {

    public static void main(String[] args) throws SQLException {
        String nome = "Mouse";
        String descricao = "Mouse sem fio";

        CriaConexao criaConexao = new CriaConexao();
        Connection conexao = criaConexao.conecta();

        //Gerencia os dados inseridos
        PreparedStatement stm = conexao.prepareStatement("INSERT INTO doce (nome, ingredientes) VALUES (?, ?)", Statement.RETURN_GENERATED_KEYS);

        //Settar os atributos (? ?)
        stm.setString(1, nome);
        stm.setString(2, descricao);

        stm.execute();

        ResultSet rst = stm.getGeneratedKeys();

        while (rst.next()) {
            Integer id = rst.getInt(1);
            System.out.println("O ID criado foi: " + id);
        }
    }
}

Compilação: Insira aqui a descrição dessa imagem para ajudar na acessibilidadeEu não entendi porque ele criou o ID como 9, alguém sabe?

1 resposta
solução!

Lucas, como usamos o ID com auto increment, sempre que vc cria um objeto novo no banco, ele vai incrementar o valor, então por exemplo, se vc criou o ID 3 e depois apagou, mesmo apagando o próximo será o 4 =)