Em um sistema, preciso buscar os aniversariantes da semana no banco.
Estou fazendo assim:
public List<Cliente> buscarAniversariantes(Date dataInicial, Date dataFinal) throws SQLException, ClassNotFoundException {
connection = conectar();
String sql = "SELECT * FROM pizzaexpress.clientes WHERE aniversario BETWEEN ? AND ? ORDER BY DATE(aniversario) DESC";
List<Cliente> l = new ArrayList<Cliente>();
stm = connection.prepareCall(sql);
stm.setDate(1,dataInicial );
stm.setDate(2,dataFinal );
rs = stm.executeQuery();
while(rs.next()){
Cliente cliente = new Cliente( rs.getString("nome"),
rs.getString("telefone"),
rs.getString("endereco"),
rs.getString("bairro"),
rs.getString("complemento"),
rs.getString("email"),
rs.getDate("aniversario"),
rs.getString("observacao"));
l.add(cliente);
}
desconectar();
return l;
}
O problema é que dessa forma, ele só me retorna os cliente com nascimento no mesmo ano. Eu queria que ele buscasse, independente do ano, só pelo mês. Mas como eu vou fazer isso ?
Pensei em uma POG, na hora de inserir, inserir sempre com o mesmo ano, mas não achei legal.