SQL Fácil no Android com QueryDSL

SQL Fácil no Android com QueryDSL

Se você já sentiu que estava voltando no tempo ao ter que manipular SQL no Android, você não está sozinho. Afinal, depois do Hibernate e JPA muitos desenvolvedores ficaram mal acostumados com objetos. Entretanto esses frameworks são demais para um ambiente móvel. QueryDSL traz para o mundo Android a volta da construção de SQL de modo type-safe e autocompletável de um modo rápido e eficiente. Manipular SQLite nunca mais será visto como algo trabalhoso…

14493d3489b1441918bfddfe298415d9?s=128

Edson Yanaga

August 06, 2014
Tweet

Transcript

  1. S Q L F Á C I L N O

    A N D R O I D C O M Q U E R Y D S L E d s o n Ya n a g a @ y a n a g a # T D C 2 0 1 4
  2. E D S O N YA N A G A

    • Bacharel em Ciência da Computação/UEM • Mestre em Engenharia Elétrica/UTFPR • Desenvolvedor Java desde 1997 • Administrador Unix desde 1999 • Líder Técnico na Produtec desde 2012 • Instrutor Líder da GlobalCode desde 2012
  3. C E R T I F I C A Ç

    Õ E S • Oracle Certified Professional, Java Platform, Enterprise Edition 6 Enterprise JavaBeans Developer • Sun Certified Enterprise Architect for the Java Platform,Enterprise Edition 5 (i) • Certified ScrumMaster • Sun Certified Developer for Java Web Services 5 • Sun Certified Specialist for NetBeans IDE • Sun Certified Web Component Developer for J2EE 1.4 • Sun Certified Programmer for Java 2 Platform 1.4
  4. None
  5. None
  6. None
  7. M Ó D U L O S PA R A

    : S Q L J PA M O N G O D B L U C E N E …
  8. CriteriaQuery query = builder.createQuery();! Root<Person> men = query.from( Person.class );!

    Root<Person> women = query.from( Person.class );! Predicate menRestriction = builder.and(! ! builder.equal( men.get( Person_.gender ), Gender.MALE ),! ! builder.equal( men.get( Person_.relationshipStatus ),! RelationshipStatus.SINGLE ));! Predicate womenRestriction = builder.and(! ! builder.equal( women.get( Person_.gender ), Gender.FEMALE ),! ! builder.equal( women.get( Person_.relationshipStatus ),! RelationshipStatus.SINGLE ));! query.where( builder.and( menRestriction, womenRestriction ) );!
  9. JPAQuery query = new JPAQuery(em);! QPerson men = new QPerson("men");!

    QPerson women = new QPerson("women");! query.from(men, women).where(! ! men.gender.eq(Gender.MALE),! ! men.relationshipStatus.eq(RelationshipStatus.SINGLE),! ! women.gender.eq(Gender.FEMALE),! ! women.relationshipStatus.eq(RelationshipStatus.SINGLE));!
  10. None
  11. D ATA B A S E M I G R

    AT I O N S
  12. J AVA E S Q L

  13. None
  14. None
  15. S O F T W A R E M E

    L H O R PA R A U M M U N D O M E L H O R
  16. E D S O N YA N A G A

     ! e d s o n @ y a n a g a . c o m . b r  @ y a n a g a  w w w. y a n a g a . c o m . b r