List com parametros

Estou querendo criar uma consulta (List com parâmetros) e não estou conseguindo. Criei um List na classe movimentoDAO:

 //metodo que retorna os movimentos cadastrados no BD
public List getMovimentos() throws SQLException {
    String sql = "select * from movimentos";
    PreparedStatement ps = null;
    ResultSet rs = null;
    List<Movimentos> listaMovimentos = new ArrayList<Movimentos>();
    try {
        ps = connection.prepareStatement(sql);
        rs = ps.executeQuery();
        while (rs.next()) {
            Movimentos movimentos = new Movimentos();
            movimentos.setmCodigo(rs.getInt("mcodigo"));
            movimentos.setmData(rs.getDate("mdata"));
            movimentos.setmCredito(rs.getInt("mcredito"));
            movimentos.setmVcredito(rs.getDouble("mvcredito"));
            movimentos.setmHisCredito(rs.getString("mhiscredito"));
            movimentos.setmSalAntCredito(rs.getDouble("msalantcredito"));
            movimentos.setmDatad(rs.getDate("mdatad"));
            movimentos.setmDebito(rs.getInt("mdebito"));
            movimentos.setmVdebito(rs.getDouble("mvdebito"));
            movimentos.setmHisDebito(rs.getString("mhisdebito"));
            movimentos.setmSalAntDebito(rs.getDouble("msalantdebito"));
            listaMovimentos.add(movimentos);
        }
        return listaMovimentos;
    } catch (SQLException erro) {
        Logger.getLogger(MovimentoDAO.class.getName()).log(Level.SEVERE, null, erro);
    } finally {
        connection.close();
        ps.close();
        rs.close();
    }
    return null;
}

Só que ele retorna tudo que está na tabela, mas o que estou querendo fazer é o seguinte:
Descrição do quero fazer em sql (funciona), no BD:

select * from movimentos where mcredito = 2 or mdebito = 2 and mdata >= ‘13/09/2016’ and mdata <= ‘30/09/2016’ or mdatad >= ‘13/09/2016’ and mdatad <= ‘30/09/2016’;

COMO FAZER ESTA CONSULTA EM SQL FUNCIONAR NO JAVA JSP, PASSANDO OS PARAMETROS DO CODIGO DA CONTA E DATAS DE LANCAMENTO?

Você precisa passar parâmetros para sua consulta. Note que lá em cima você faz:

“select * from movimentos”;

Quando na verdade o que quer é:

select * from movimentos where mcredito = 2 or mdebito = 2 and mdata >= ‘13/09/2016’ and mdata <= ‘30/09/2016’ or mdatad >= ‘13/09/2016’ and mdatad <= ‘30/09/2016’;

Sendo consultas bem diferentes, não tem como retornar os mesmos dados. Estude como construir consultas com parâmetros ( veja https://www.caelum.com.br/apostila-java-web/bancos-de-dados-e-jdbc/ ).

Abraço.

Olá Terra Skill!

É justamente isto que não consigo fazer, pegar esta consulta (select * from movimentos where mcredito = 2 or mdebito = 2 and mdata >= ‘13/09/2016’ and mdata <= ‘30/09/2016’ or mdatad >=
‘13/09/2016’ and mdatad <= ‘30/09/2016’) e colocar no lugar desta (“select * from movimentos”), pois acho que devo passar estes parâmetros na pagina jsp.
Ficaria uma pagina muito grande pois trata-se de lançamentos em conta corrente (debito e credito), se e somente se eu fosse pegar os parâmetros na pagina jsp!