Como salvar a imagem no banco de dados?

Assim:

public void Salvar(BeansMoradores mod){
        conex.conecta();
        try {
            PreparedStatement pat = conex.con.prepareStatement("INSERT INTO morador(nome, rg, cpf, nomedoveiculo, númerodoapartamento, númerodacasa, placa, imagem) VALUES(?,?,?,?,?,?,?<?)");
            pat.setString(1, mod.getNome());
            pat.setString(2, mod.getRG());
            pat.setString(3, mod.getCPF());
            pat.setString(4, mod.getNomeDoVeiculo());
            pat.setString(5, mod.getNúmeroDoApartamento());
            pat.setString(6, mod.getNúmeroDaCasa());
            pat.setString(7, mod.getPlaca());
            pat.setString(8, mod.getImagem());
            pat.execute();
            
            JOptionPane.showConfirmDialog(null, "Dados Inseridos Com Sucesso!");
            
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        conex.desconecta();
        
    }

assim:

public BeansMoradores buscaMoradores(BeansMoradores mod){
        conex.conecta();
        conex.executaSql("SELECT *FROM morador WHERE nome like'%"+mod.getPesquisa()+"%'");
        try{
         conex.rs.first();
         
         mod.setCodigo(conex.rs.getInt("codigo"));
         mod.setNome(conex.rs.getString("nome"));
         mod.setRG(conex.rs.getString("rg"));
         mod.setCPF(conex.rs.getString("cpf"));
         mod.setNomeDoVeiculo(conex.rs.getString("nomedoveiculo"));
         mod.setNúmeroDoApartamento(conex.rs.getString("númerodoapartamento"));
         mod.setNúmeroDaCasa(conex.rs.getString("númerodacasa"));
         mod.setPlaca(conex.rs.getString("placa"));
         mod.setImagem(conex.rs.getString("imagem"));
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        
        conex.desconecta();    
                
        return mod;
    
    
    }

oi esqueceu de responder pra mim.

vc mandou o código que busca e não o que salva.

esta aqui o que salva então.

public void Salvar(BeansMoradores mod){
    conex.conecta();
    try {
        PreparedStatement pat = conex.con.prepareStatement("INSERT INTO morador(nome, rg, cpf, nomedoveiculo, númerodoapartamento, númerodacasa, placa, imagem) VALUES(?,?,?,?,?,?,?<?)");
        pat.setString(1, mod.getNome());
        pat.setString(2, mod.getRG());
        pat.setString(3, mod.getCPF());
        pat.setString(4, mod.getNomeDoVeiculo());
        pat.setString(5, mod.getNúmeroDoApartamento());
        pat.setString(6, mod.getNúmeroDaCasa());
        pat.setString(7, mod.getPlaca());
        pat.setString(8, mod.getImagem());
        pat.execute();
        
        JOptionPane.showConfirmDialog(null, "Dados Inseridos Com Sucesso!");
        
    } catch (SQLException ex) {
        ex.printStackTrace();
    }
    conex.desconecta();
    
}

ok, agora é só passar a imagem no mod.setImagem…

assim:
mod.setImagem(conex.rs.getString(“imagem”));

nao, onde vc coloca o nome da pessoa cadastrada???

no botão salvar

então é la, vc seta o mod.setImagem lá

nesse código olha:

private void jButtonSalvarActionPerformed(java.awt.event.ActionEvent evt) {
if(jTextFieldNome.getText().isEmpty()){
JOptionPane.showMessageDialog(null,“preencha o nome para continuar”);
jTextFieldNome.requestFocus();
}else if(jTextFieldRG.getText().isEmpty()){
JOptionPane.showMessageDialog(null,“preencha o rg para continuar”);
jTextFieldRG.requestFocus();
}else if(jTextFieldCPF.getText().isEmpty()){
JOptionPane.showMessageDialog(null,“preencha o cpf para continuar”);
jTextFieldCPF.requestFocus();
}else if(jTextFieldNomeDoVeiculo.getText().isEmpty()){
JOptionPane.showMessageDialog(null,“preencha o nomedoveiculo para continuar”);
jTextFieldNomeDoVeiculo.requestFocus();
}else if(jTextFieldNúmeroDoApartamento.getText().isEmpty()){
JOptionPane.showMessageDialog(null,“preencha o númerodoapartamento para continuar”);
jTextFieldNúmeroDoApartamento.requestFocus();
}else if(jTextFieldNúmeroDaCasa.getText().isEmpty()){
JOptionPane.showMessageDialog(null,“preencha o númerodacasa para continuar”);
jTextFieldNúmeroDaCasa.requestFocus();
}else if(jTextFieldPlaca.getText().isEmpty()){
JOptionPane.showMessageDialog(null,“preencha a placa para continuar”);
jTextFieldPlaca.requestFocus();
}else

    if(salvar==true){
        mod.setNome(jTextFieldNome.getText());
        mod.setRG(jTextFieldRG.getText());
        mod.setCPF(jTextFieldCPF.getText());
        mod.setNomeDoVeiculo(jTextFieldNomeDoVeiculo.getText());
        mod.setPlaca(jTextFieldPlaca.getText());
        mod.setNúmeroDoApartamento(jTextFieldNúmeroDoApartamento.getText());
        mod.setNúmeroDaCasa(jTextFieldNúmeroDaCasa.getText());
        control.Salvar(mod);
        jTextFieldNome.setText("");
        jTextFieldRG.setText("");
        jTextFieldCPF.setText("");
        jTextFieldNomeDoVeiculo.setText("");
        jTextFieldPlaca.setText("");
        jTextFieldNúmeroDoApartamento.setText("");
        jTextFieldNúmeroDaCasa.setText("");
        jTextFieldNome.setEnabled(false);
        jTextFieldRG.setEnabled(false);
        jTextFieldCPF.setEnabled(false);
        jTextFieldNomeDoVeiculo.setEnabled(false);
        jTextFieldPlaca.setEnabled(false);
        jTextFieldNúmeroDoApartamento.setEnabled(false);
        jTextFieldNúmeroDaCasa.setEnabled(false);
        jButtonSalvar.setEnabled(true);
        jButtonCancelar.setEnabled(false);
        preencherTabela("SELECT *FROM morador ORDER BY nome");

    }else{
        mod.setCodigo(Integer.parseInt(jTextFieldCOD.getText()));
        mod.setNome(jTextFieldNome.getText());
        mod.setRG(jTextFieldRG.getText());
        mod.setCPF(jTextFieldCPF.getText());
        mod.setNomeDoVeiculo(jTextFieldNomeDoVeiculo.getText());
        mod.setPlaca(jTextFieldPlaca.getText());
        mod.setNúmeroDoApartamento(jTextFieldNúmeroDoApartamento.getText());
        mod.setNúmeroDaCasa(jTextFieldNúmeroDaCasa.getText());
        control.Editar(mod);
        jTextFieldCOD.setText("");
        jTextFieldNome.setText("");
        jTextFieldRG.setText("");
        jTextFieldCPF.setText("");
        jTextFieldNomeDoVeiculo.setText("");
        jTextFieldPlaca.setText("");
        jTextFieldNúmeroDoApartamento.setText("");
        jTextFieldNúmeroDaCasa.setText("");
        jTextFieldNome.setEnabled(false);
        jTextFieldRG.setEnabled(false);
        jTextFieldCPF.setEnabled(false);
        jTextFieldNomeDoVeiculo.setEnabled(false);
        jTextFieldPlaca.setEnabled(false);
        jTextFieldNúmeroDoApartamento.setEnabled(false);
        jTextFieldNúmeroDaCasa.setEnabled(false);
        jButtonSalvar.setEnabled(true);
        jButtonNovo.setEnabled(true);
        jButtonCancelar.setEnabled(false);
        preencherTabela("SELECT *FROM morador ORDER BY nome");

    }
}

Quando for enviar o código aqui, seleciona ele todo e clica em </>.

 mod.setNúmeroDaCasa(jTextFieldNúmeroDaCasa.getText());

coloca o mod.setImagem aqui, depois do numerodacasa, eu te passei o código nas respostas acima

assim:
mod.setImagem(caminho);

Fabiana, vc quer salvar a imagem ou o caminho da imagem???

quero salvar a imagem

https://www.roseindia.net/jdbc/save_image.shtml

  File image = new File("C:\\imagem.jpg");
  FileInputStream inputStream = new FileInputStream(image);
  statement.setBinaryStream(x, (InputStream) inputStream, (int)(image.length()));

Vc tem que ter uma coluna do tipo Blob no seu banco, como o @staroski falou.

então eu tenho que colocar aqui nesse código:

  public Connection conecta(){ // metodo responsavel por realizar conexao com a base dados 
    System.setProperty("jdbc.Drivers", driver);
      try {
          con = DriverManager.getConnection(caminho, usuario, senha);
          //JOptionPane.showMessageDialog(null,"Conexão Efetuada com Sucesso!!");
      } catch (SQLException ex) {
          JOptionPane.showMessageDialog(null,"Erro ao se conectar com o banco de dados:\n"+ex.getMessage());
      }
      return con;      
    
  }
  
  public void executaSql(String sql){
      try {
          stm = con.createStatement(rs.TYPE_SCROLL_INSENSITIVE, rs.CONCUR_READ_ONLY);
          rs = stm.executeQuery(sql);
      } catch (SQLException ex) {
          JOptionPane.showMessageDialog(null,"Erro ExecutaSql:\n"+ex.getMessage());
      }
       
  }
  
  public void desconecta(){
     try{
      con.close();
      //JOptionPane.showMessageDialog(null,"BD Desconectado com sucesso:");
     } catch (SQLException ex){
      JOptionPane.showMessageDialog(null,"Erro ao fechar conexao com BD:\n"+ex.getMessage());
     } 
  }

Pq vc não assiste umas vídeo aulas no youtube primeiro? Vc tá perdida tanto em Java quanto em Banco de Dados…

Vc tem que colocar a coluna na tabela X do seu banco (MySQL/Postgres).

ok vou ver então

assim:

public class SaveImageToDatabase {
    public static void main(String[] args) throws SQLException {
      String caminho = "jdbc:postgresql://localhost:5432/projetocadastro";
      String usuario = "postgres";
      String senha ="fabi2019";
      String sql = "INSERT INTO morador(nome, rg, cpf, nomedoveiculo, númerodoapartamento, númerodacasa, placa, imagem) VALUES(?,?,?,?,?,?,?,?)";

      try (Connection conn = DriverManager.getConnection(caminho, usuario, senha );){
         File image = new File("images.jpg");
         try (FileInputStream inputStream = new FileInputStream(image);
               PreparedStatement stmt = conn.prepareStatement(sql);) {

            stmt.setString(1, "fabiana");
            stmt.setBinaryStream(2, inputStream, image.length());
            stmt.executeUpdate();
            System.out.println("Image saved successfully.");
         } catch (FileNotFoundException ex) {    
              ex.printStackTrace();
          } catch (IOException ex) {
              ex.printStackTrace();
          }    
        }  
      }
   }