Upgrade to Pro — share decks privately, control downloads, hide ads and more …

QueryDSL - Type safe query builder

QueryDSL - Type safe query builder

Introdução ao framework QueryDSL para busca Segurada ao seu banco de dados.

Tiarê Balbi Bonamini

October 26, 2013
Tweet

More Decks by Tiarê Balbi Bonamini

Other Decks in Programming

Transcript

  1. Software Consultant TIARÊ B. B. www.tiarebalbi.com QueryDSL Timo Westkämper Architect,

    MYSEMA Projeto publicado em 2008, o QueryDSL é um Framework que permite a realização de consultas de dados com tipagem segura através de metamodels e dsl's à múltiplos backends em Java.
  2. Software Consultant TIARÊ B. B. www.tiarebalbi.com Reusabilidade Segurança Validação em

    tempo de escrita do código Construção de consultas dinâmicas SQL MongoDB Apache Lucene Hibernate Search JDO Oracle Redução de códigos duplicados Integração com IDE's Licença amigável para uso comercial (Apache 2.0) Otimização Scala Neo4j Spring Data
  3. Software Consultant TIARÊ B. B. www.tiarebalbi.com CRIAÇÃO DAS VARIÁVEIS Criando

    nossas variáveis (Entidades) que serão utilizados na construção da consulta. ! Exemplo:
  4. Software Consultant TIARÊ B. B. www.tiarebalbi.com CRIAÇÃO DAS VARIÁVEIS CRIAÇÃO

    DAS QUERIES Agora vamos utilizar nossa variável para começar a criar nossa consulta. Obs.: Lembrando que vou estar utilizando a JPAQuery, mas você tem a opção de utilizar HibernateQuery, SQLQueryImpl entre outros. Exemplo:
  5. Software Consultant TIARÊ B. B. www.tiarebalbi.com CRIAÇÃO DAS VARIÁVEIS CRIAÇÃO

    DAS QUERIES AJUSTANDO NOSSA QUERY Agora vamos utilizar nossa variável para começar a criar nossa consulta. Obs.: Lembrando que vou estar utilizando a JPAQuery, mas você tem a opção de utilizar HibernateQuery, SQLQueryImpl entre outros. Exemplo:
  6. Software Consultant TIARÊ B. B. www.tiarebalbi.com CRIAÇÃO DAS VARIÁVEIS CRIAÇÃO

    DAS QUERIES AJUSTANDO NOSSA QUERY COLETANDO RESULTADOS Agora com a query pronta vamos executá-la! ! Exemplo:
  7. Software Consultant TIARÊ B. B. www.tiarebalbi.com Entendendo o papel das

    IDE's No slide anterior nossa variável era: ! QHistorico variavel = QHistorico.historico.
  8. Software Consultant TIARÊ B. B. www.tiarebalbi.com Entendendo o papel das

    IDE's No slide anterior nossa variável era: ! QHistorico variavel = QHistorico.historico. QHistorico??? Para que ser este Q
  9. Software Consultant TIARÊ B. B. www.tiarebalbi.com Entendendo o papel das

    IDE's No slide anterior nossa variável era: ! QHistorico variavel = QHistorico.historico. QHistorico??? Para que ser este Q São classes de metamodel que permite você montar a suas consultas.
  10. Software Consultant TIARÊ B. B. www.tiarebalbi.com Entendendo o papel das

    IDE's No slide anterior nossa variável era: ! QHistorico variavel = QHistorico.historico. QHistorico??? Para que ser este Q São classes de metamodel que permite você montar a suas consultas. Mas o que as IDE’s tem a ver com isso ???
  11. Software Consultant TIARÊ B. B. www.tiarebalbi.com Entendendo o papel das

    IDE's No slide anterior nossa variável era: ! QHistorico variavel = QHistorico.historico. QHistorico??? Para que ser este Q São classes de metamodel que permite você montar a suas consultas. Mas o que as IDE’s tem a ver com isso ??? O QueryDSL oferece integração via Maven e Ant com a sua IDE para a criação do seus metamodel’s.
  12. Software Consultant TIARÊ B. B. www.tiarebalbi.com Software Consultant TIARÊ B.

    B. Predicates Predicate são classes que permite com que você crie condições dinâmicas para busca de dados.
  13. Software Consultant TIARÊ B. B. www.tiarebalbi.com Software Consultant TIARÊ B.

    B. Predicates Predicate são classes que permite com que você crie condições dinâmicas para busca de dados.
  14. Software Consultant TIARÊ B. B. www.tiarebalbi.com Software Consultant TIARÊ B.

    B. Predicates Predicate são classes que permite com que você crie condições dinâmicas para busca de dados. Será que vai dar muito trabalho para deixa todas as consultas dinâmicas ?
  15. Software Consultant TIARÊ B. B. www.tiarebalbi.com Software Consultant TIARÊ B.

    B. APENAS MODIFICAR MINHAS ANOTAÇÕES NAS ENTIDADES!
  16. Software Consultant TIARÊ B. B. www.tiarebalbi.com GitHub: - https://github.com/mysema/querydsl !

    ! Google Group: - https://groups.google.com/forum/#!forum/querydsl ! ! Ps. Se você já conhece o QueryDSL não deixe de realizar nossa pesquisa: - http://t.co/FySLA58Y82 !