Deletar linha do ArrayList e Deletar do Banco de Dados

Boa noite pessoal,

Criei um ArrayList que pega os cadastros do meu Banco de Dados e em cada Array tem um botão “excluir”. Como faço para quando o usuário clicar em “excluir” seja excluído a linha do Array e do Banco de Dados?

Obrigado pela ajuda.

    <title>Lista</title>
</head>
<body>
    <div class="container">
        <table class="table" id="form2">
            <thead>
            <tr>
                <th>Nome</th>
                <th>Telefone</th>
                <th>Email</th>
                <th> </th>
            </tr>
            </thead>
            
            <tbody>
                <c:forEach items="${lista}" var="atributo">
                    <tr>
                        <td id="nome">${atributo.nome}</td>
                        <td id="telefone">${atributo.telefone}</td>
                        <td id="email">${atributo.email}</td>
                        <td class="btn-secondary">Excluir</td>
                    </tr>
                </c:forEach>
            </tbody>
        </table>
    </div>
    
</body>
 public class CadastroDAO {
 public List<Cadastro> busca() throws SQLException, ClassNotFoundException{
    
    List<Cadastro> lista = new ArrayList<>();
    
    Conexao conn = new Conexao();
    
    String sql = "select*from cadastro;";
    
    PreparedStatement ps = conn.getConexao().prepareStatement(sql);
    
    ResultSet rs =  ps.executeQuery();
    
    while(rs.next()){
        Cadastro cadastro = new Cadastro();
        
        cadastro.setNome(rs.getString("nome"));
        cadastro.setTelefone(rs.getInt("telefone"));
        cadastro.setEmail(rs.getString("email"));
        
        lista.add(cadastro);
    }
      return lista;
    
} 

}

Para excluir do ArrayList, use o método remove(int index).
Para excluir do banco de dados, pegue apenas a chave primária do cadastro e use numa instrução SQL:

DELETE FROM sua_tabela WHERE coluna_chave = chave_primaria

Mas vou considerar que sua dúvida seja em como chegar ao dado, como saber qual dado o usuário quer excluir.
Não sei qual componente gráfico você está usando para mostrar essa lista para o usuário, mas provavelmente ele possui o método getSelectedIndex, que retorna o índice clicado pelo usuário, e retorna -1 se o usuário não clicou em nenhum.
Com isso é só você preencher o componente gráfico na mesma sequência que preencheu o ArrayList, para os índices ficarem sincronizados.

É uma aplicação web com Spring mvc. Da certo com o método que você passou?

Nunca usei Spring Mvc, então não sei.
Dê uma pesquisada na documentação.

Ah blz, obrigado…