Erro de imagem = Null

Oi gente !
Tenho um projeto à fazer e não estou conseguindo cadastrar informações como nome, endereço, etc + 1 imagem.
Quero que o cadastro seja feito mesmo sem a imagem, pois pode não estar disponível a imagem (foto) no momento do cadastro.

Se alguém puder me ajudar agradeço.
T’+…

Código abaixo, as linhas principais:

classe JanelaNovoContato:

variável global:
BufferedImage imagem;
.
.
.

clicando no botão gravar:
private void gravarActionPerformed(java.awt.event.ActionEvent evt) {

    try {
         Exemplo obj = new Exemplo();
         obj.setNome(this.nome.getText());
         obj.setEndereco(this.endereco.getText());
         obj.setEmail(this.email.getText());
                      
         if(imagem == null){
             System.out.println("obj.setImagem = NULL !!!!");
             imagem = ImageIO.read(JanelaNovoContato.class.getResource("../imagem/semFoto.png"));
         } 
         obj.setImagem(ManipularImagem.getImgBytes(imagem));
         ExemploDAO dao = new ExemploDAO();
         Boolean foi = dao.inserir(obj);
         if(foi == true)
         {
             JOptionPane.showMessageDialog(rootPane, "Dados cadastrados com sucesso");
     
         }
         else
         {
            JOptionPane.showMessageDialog(rootPane, "Dados não cadastrados");
     
         }
         this.dispose();
         } catch (Exception ex) {
         Logger.getLogger(JanelaNovoContato.class.getName()).log(Level.SEVERE, null, ex);
     }
}

outro botão:
private void enviarImagemActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser fc = new JFileChooser();
int res = fc.showOpenDialog(null);

    if (res == JFileChooser.APPROVE_OPTION) {
        File arquivo = fc.getSelectedFile();

        try {
            imagem = ManipularImagem.setImagemDimensao(arquivo.getAbsolutePath(), 200, 230);
            lblImagem.setIcon(new ImageIcon(imagem));

        } catch (Exception ex) {
           // System.out.println(ex.printStackTrace().toString());
        }

    } else {
        JOptionPane.showMessageDialog(null, "Voce nao selecionou nenhum arquivo.");
    }
}

=====================
método da classe DAO:
public Boolean inserir(Exemplo exemplo) throws SQLException
{
Boolean retorno = false;
String sql = “INSERT INTO contatos (nome, endereco, email, data, imagem) values (?, ?, ?, ?, ?)”;

PreparedStatement pst = Conexao.getPreparedStatement(sql);
try
{
	pst.setString(1, exemplo.getNome());
	pst.setString(2, exemplo.getEndereco());
	pst.setString(3, exemplo.getEmail());
	pst.setString(4, exemplo.getData());
	pst.setBytes(5, exemplo.getImagem());
	pst.executeUpdate();
	retorno = true;
	
}
catch(Exception ex)
{
	ex.printStackTrace();
}

return retorno;

}

método da classe ManipularImagem:
public static byte[] getImgBytes(BufferedImage image) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
ImageIO.write(image, “JPG”, baos);
} catch (IOException ex) {
//handle it here… not implemented yet…
}

InputStream is = new ByteArrayInputStream(baos.toByteArray());

return baos.toByteArray();

}
//Novo método para exibir imagem na tela
//Recebe o label que queremos exibir E a imagem como array de bytes do banco
public static void exibiImagemLabel(byte[] minhaimagem, javax.swing.JLabel label)
{
//primeiro verifica se tem a imagem
//se tem convert para inputstream que é o formato reconhecido pelo ImageIO

if(minhaimagem!=null)
{
	InputStream input = new ByteArrayInputStream(minhaimagem);
	try {
		BufferedImage imagem = ImageIO.read(input);
		label.setIcon(new ImageIcon(imagem));
	} catch (IOException ex) {
	}
	

}
else
{
	label.setIcon(null);
	
}

}

classe Exemplo:
public class Exemplo {
private int id;
private byte[] imagem;
private String nome;
.
.
.

public byte[] getImagem() {
return imagem;
}

/**
 * @param imagem the imagem to set
 */
public void setImagem(byte[] imagem) {
    this.imagem = imagem;
}

/**
 * @return the nome
 */
public String getNome() {
    return nome;
}

/**
 * @param nome the nome to set
 */
public void setNome(String nome) {
    this.nome = nome;
}

Tente usar da seguinte forma:

imagem = ImageIO.read(JanelaNovoContato.class.getClassLoader().getResource("../imagem/semFoto.png"));