Consulta no MySQL

Boa tarde a todos, estou com um problema se alguém poder mim ajudar ficarei muito grato, estou aprendendo agora MySQL por isto estou tendo um pouco de dificuldade em alguns códigos, estou disponibilizando a consulta abaixo, o codigo esta apresentando erro apenas na linha ( " and ven.dataVenda between " + binter.dataVendaInicial + " and " +
binter.dataVendaFinal + “\n” + ) quando faço a consulta sem essa linha roda beleza, mais quando coloco a consulta por intervalo de data a consulta mim retorna null, sendo que a coluna do banco de dado esta preenchida da seguinte forma 2018-05-22, tem varias datas!

    sql =   "select \n" +
            "  ven.codigoComputador        as codigoComputador,\n" +

            "  pag.codigoPagamento         as codigoPagamento, \n" +

            "  forp.descricaoPagamento     as descricaoPagamento, \n" +

            "  count(pag.codigoVenda)      as totalEmitido, \n" +

            "  sum(pag.valorDoPagamento)   as valorTotal, \n" +

            "  sum(pag.trocoDoPagamento)   as trocoDoPagamento \n" +

            "from tb_vendas ven \n" +

            "  inner join tb_vendas_pagamentos pag on ((pag.idEmpresa = ven.idEmpresa) and (pag.codigoVenda = ven.codigoVenda)) \n" +

            "  inner join tb_formaspagamentos forp on ((pag.idEmpresa = forp.idEmpresa) and (pag.codigoPagamento = forp.codigoPagamento)) \n" +

            "  where ven.idEmpresa = " + parametrosNS.be.IdEmpresa + " and \n" +

            "  ven.codigoComputador = " + parametrosNS.bcomp.codigoComputador + 

            " and ven.dataVenda between " + binter.dataVendaInicial + " and " + 

binter.dataVendaFinal + “\n” +

            "    group by forp.codigoPagamento" +

            "    order by forp.codigoPagamento asc;";

Mim não conjuga verbo, é um substantivo da primeira pessoa do caso oblíquo que referencia o próprio orador.

Vamos lá, qual o formato de dataVendaInicial e de dataVendaFinal? Aliás, qual o tipo de dado, String, Date, LocalDate?