SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Spring-Data
    Persistindo dados sem sofrimento




André Luiz Forchesatto
@forchesatto             I BootCamp
Agenda
●   Realidade BD;
●   Realidade Persistência em Java;
●   SpringFramework;
●   SpringData
●   Interface Repository;
●   Query Builder;
●   @Query;
●   Paginação;
Realidade
Banco de dados
Spring data
Spring Data
Realidade Persistência Java
Spring framework

“Spring is the most popular application development framework
for enterprise Java™.
Millions of developers use Spring to create high performing,
easily testable, reusable code without any lock-in.”
Spring framework
●   Spring Security
●   Spring Integration
●   Spring Batch
●   Spring Data
●   Spring Web Flow
●   Spring Web Services
●   Spring Mobile
●   Spring Social
●   Spring Android
Spring framework
Spring Data


 “Simplifica o desenvolvimento de aplicações
que usam novas tecnologias de acesso a
dados como: noSql, mapReduce e cloud.
Além do suporte aperfeiçoado a bancos
relacionais.”
Spring Data
               ●   JPA
               ●   JDBC Extensions
               ●   Hadoop
               ●   GemFire
                   Redis
 SubProjetos
               ●

               ●   Riak
               ●   MongoDB
               ●   Neo4j
               ●   Blob
               ●   Commons
Spring Data - COMMONS



 Conceito utilizado por todos os outros
 subprojetos, é utilizado como core do
 projeto Spring Data.
Spring Data - COMMONS


Uma interface principal denominada
CrudRepository que deve ser herdada para
cada Model Class da aplicação.
Spring Data - CrudRepository
Spring Data – CrudRepository
Como usar na minha aplicação:
Spring Data - Configuração
Demonstração
Spring Data - Query Builder
 Construção de query utilizando somente
 o nome do método.
Spring Data - Query Builder
Spring Data - @Query
Para aplicações que utilizam JPA, ainda é
possível criar as query utilizando JPAQL
Spring Data - @Query

Para aplicações que utilizam MongoDB,
ainda é possível criar as query utilizando
MongoDB JSON query.
Demonstração
Spring Data - Paginação
Utilizando as classes Page e Pageable do
Spring é possível fazer paginação na query
com o minimo de esforço.




Utilizando o método:
Conclusões


Mais tempo para focar na regra
de negócio;

Menos código menos erro;
Referências
●   http://www.springsource.org/spring-data
●   https://github.com/SpringSource
Obrigado!!

             Dúvidas?
Contato:
@forchesatto
andreforchesatto@gmail.com
andre.forchesatto@unoesc.edu.br

Mais conteúdo relacionado

Mais procurados

Aula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPRAula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPRAndré Luiz Forchesatto
 
Minicurso Java Server Faces
Minicurso Java Server FacesMinicurso Java Server Faces
Minicurso Java Server FacesJoão Longo
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysDr. Spock
 
Desenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSFDesenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSFEmmanuel Neri
 
Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Anderson Araújo
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysDr. Spock
 
CakePHP workshop ifsul
CakePHP workshop ifsulCakePHP workshop ifsul
CakePHP workshop ifsulWaldemar Neto
 
jQuery e ASP.Net MVC a dupla dinâmica
jQuery e ASP.Net MVC a dupla dinâmicajQuery e ASP.Net MVC a dupla dinâmica
jQuery e ASP.Net MVC a dupla dinâmicaVictor Cavalcante
 
Otimização front end
Otimização front endOtimização front end
Otimização front endErika Takahara
 
Arquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOArquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOLeonardo Sousa
 
Curso Java Web (JAVA, JSF, JPA)
Curso Java Web (JAVA, JSF, JPA)Curso Java Web (JAVA, JSF, JPA)
Curso Java Web (JAVA, JSF, JPA)Marcos Batista
 

Mais procurados (20)

Avaliacao jsf utfpr
Avaliacao jsf utfprAvaliacao jsf utfpr
Avaliacao jsf utfpr
 
Aula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPRAula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPR
 
Minicurso Java Server Faces
Minicurso Java Server FacesMinicurso Java Server Faces
Minicurso Java Server Faces
 
Apresentação jsf 1_2
Apresentação jsf 1_2Apresentação jsf 1_2
Apresentação jsf 1_2
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToys
 
Desenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSFDesenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSF
 
jQuery e ASP.Net mvc2
jQuery e ASP.Net mvc2jQuery e ASP.Net mvc2
jQuery e ASP.Net mvc2
 
Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Como escolher o Framework Java para web?
Como escolher o Framework Java para web?
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToys
 
CakePHP workshop ifsul
CakePHP workshop ifsulCakePHP workshop ifsul
CakePHP workshop ifsul
 
Curso jsf
Curso jsfCurso jsf
Curso jsf
 
jQuery e ASP.Net MVC a dupla dinâmica
jQuery e ASP.Net MVC a dupla dinâmicajQuery e ASP.Net MVC a dupla dinâmica
jQuery e ASP.Net MVC a dupla dinâmica
 
Java Web Fácil com VRaptor
Java Web Fácil com VRaptorJava Web Fácil com VRaptor
Java Web Fácil com VRaptor
 
Otimização front end
Otimização front endOtimização front end
Otimização front end
 
Arquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOArquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAO
 
Curso Java Web (JAVA, JSF, JPA)
Curso Java Web (JAVA, JSF, JPA)Curso Java Web (JAVA, JSF, JPA)
Curso Java Web (JAVA, JSF, JPA)
 
Gradle spring-hateoas-Lombok
Gradle spring-hateoas-LombokGradle spring-hateoas-Lombok
Gradle spring-hateoas-Lombok
 
Php11
Php11Php11
Php11
 
Framework7
Framework7Framework7
Framework7
 
Java web
Java webJava web
Java web
 

Destaque

Conhecimento x sabedoria
Conhecimento x sabedoriaConhecimento x sabedoria
Conhecimento x sabedoriaBruno Dinardi
 
Os espinhos e os frutos
Os espinhos e os frutosOs espinhos e os frutos
Os espinhos e os frutosAbelmon Bastos
 
Van dalen et al. suspicious minds
Van dalen et al. suspicious mindsVan dalen et al. suspicious minds
Van dalen et al. suspicious mindsArjen Van Dalen
 
Projeto III - Integração de Dados, Informação, Conhecimento e Saber
Projeto III - Integração de Dados, Informação, Conhecimento e SaberProjeto III - Integração de Dados, Informação, Conhecimento e Saber
Projeto III - Integração de Dados, Informação, Conhecimento e Saberraluti
 
Van dalen et al 2014 sporgeskemaer og indholdsanalyse
Van dalen et al 2014 sporgeskemaer og indholdsanalyseVan dalen et al 2014 sporgeskemaer og indholdsanalyse
Van dalen et al 2014 sporgeskemaer og indholdsanalyseArjen Van Dalen
 
Teologia da Alegria
Teologia da Alegria Teologia da Alegria
Teologia da Alegria Pedro Siena
 
Dados Informacao Conhecimento E Saber
Dados Informacao Conhecimento E SaberDados Informacao Conhecimento E Saber
Dados Informacao Conhecimento E Sabercladrocha
 
ESTUDO Livro filipenses versiculo por versiculo
ESTUDO Livro filipenses versiculo por versiculoESTUDO Livro filipenses versiculo por versiculo
ESTUDO Livro filipenses versiculo por versiculoPAULO RICARDO FERREIRA
 
Estudo no livro de provérbios antônio neves de mesquita
Estudo no livro de provérbios   antônio neves de mesquitaEstudo no livro de provérbios   antônio neves de mesquita
Estudo no livro de provérbios antônio neves de mesquitaEvandro Santos
 

Destaque (10)

Conhecimento x sabedoria
Conhecimento x sabedoriaConhecimento x sabedoria
Conhecimento x sabedoria
 
Os espinhos e os frutos
Os espinhos e os frutosOs espinhos e os frutos
Os espinhos e os frutos
 
Conceitos de Ajax
Conceitos de AjaxConceitos de Ajax
Conceitos de Ajax
 
Van dalen et al. suspicious minds
Van dalen et al. suspicious mindsVan dalen et al. suspicious minds
Van dalen et al. suspicious minds
 
Projeto III - Integração de Dados, Informação, Conhecimento e Saber
Projeto III - Integração de Dados, Informação, Conhecimento e SaberProjeto III - Integração de Dados, Informação, Conhecimento e Saber
Projeto III - Integração de Dados, Informação, Conhecimento e Saber
 
Van dalen et al 2014 sporgeskemaer og indholdsanalyse
Van dalen et al 2014 sporgeskemaer og indholdsanalyseVan dalen et al 2014 sporgeskemaer og indholdsanalyse
Van dalen et al 2014 sporgeskemaer og indholdsanalyse
 
Teologia da Alegria
Teologia da Alegria Teologia da Alegria
Teologia da Alegria
 
Dados Informacao Conhecimento E Saber
Dados Informacao Conhecimento E SaberDados Informacao Conhecimento E Saber
Dados Informacao Conhecimento E Saber
 
ESTUDO Livro filipenses versiculo por versiculo
ESTUDO Livro filipenses versiculo por versiculoESTUDO Livro filipenses versiculo por versiculo
ESTUDO Livro filipenses versiculo por versiculo
 
Estudo no livro de provérbios antônio neves de mesquita
Estudo no livro de provérbios   antônio neves de mesquitaEstudo no livro de provérbios   antônio neves de mesquita
Estudo no livro de provérbios antônio neves de mesquita
 

Semelhante a Spring data

Bancos de Dados em “Clouds”
Bancos de Dados em “Clouds”Bancos de Dados em “Clouds”
Bancos de Dados em “Clouds”elliando dias
 
Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Flávio Lisboa
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemRodrigo Valerio
 
MongoDB com Java - GUOB 2018
MongoDB com Java  - GUOB  2018MongoDB com Java  - GUOB  2018
MongoDB com Java - GUOB 2018Fernando Boaglio
 
MongoDB com Java - SouJava
MongoDB com Java - SouJavaMongoDB com Java - SouJava
MongoDB com Java - SouJavaFernando Boaglio
 
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformPangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformAndré Paulovich
 
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvensTDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvensDr. Spock
 
Fisl banco de dados no sql de código aberto
Fisl   banco de dados no sql de código abertoFisl   banco de dados no sql de código aberto
Fisl banco de dados no sql de código abertoSuissa
 
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAOficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAnitaibezerra
 
Nao perca tempo com bancos de dados relacionais, use mongo db
Nao perca tempo com bancos de dados relacionais,   use mongo dbNao perca tempo com bancos de dados relacionais,   use mongo db
Nao perca tempo com bancos de dados relacionais, use mongo dbFernando Boaglio
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKRyan Padilha
 
Java, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a ObjetosJava, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a ObjetosJoão Longo
 
MongoDB e OpenShift - JUDCon2014
MongoDB e OpenShift - JUDCon2014MongoDB e OpenShift - JUDCon2014
MongoDB e OpenShift - JUDCon2014Fernando Boaglio
 
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015  Porto Alegre - Interfaces ricas com Rails e React.JSTDC2015  Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JSRodrigo Urubatan
 

Semelhante a Spring data (20)

Bancos de Dados em “Clouds”
Bancos de Dados em “Clouds”Bancos de Dados em “Clouds”
Bancos de Dados em “Clouds”
 
B Ds Clouds
B Ds CloudsB Ds Clouds
B Ds Clouds
 
Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvem
 
Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0
 
MongoDB com Java - GUOB 2018
MongoDB com Java  - GUOB  2018MongoDB com Java  - GUOB  2018
MongoDB com Java - GUOB 2018
 
Node.js e Express
Node.js e ExpressNode.js e Express
Node.js e Express
 
MongoDB com Java - SouJava
MongoDB com Java - SouJavaMongoDB com Java - SouJava
MongoDB com Java - SouJava
 
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformPangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
 
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvensTDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
 
Fisl banco de dados no sql de código aberto
Fisl   banco de dados no sql de código abertoFisl   banco de dados no sql de código aberto
Fisl banco de dados no sql de código aberto
 
Spring boot
Spring bootSpring boot
Spring boot
 
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAOficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
 
Nao perca tempo com bancos de dados relacionais, use mongo db
Nao perca tempo com bancos de dados relacionais,   use mongo dbNao perca tempo com bancos de dados relacionais,   use mongo db
Nao perca tempo com bancos de dados relacionais, use mongo db
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Java, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a ObjetosJava, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a Objetos
 
Treinamento hadoop - dia4
Treinamento hadoop - dia4Treinamento hadoop - dia4
Treinamento hadoop - dia4
 
MongoDB e OpenShift - JUDCon2014
MongoDB e OpenShift - JUDCon2014MongoDB e OpenShift - JUDCon2014
MongoDB e OpenShift - JUDCon2014
 
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015  Porto Alegre - Interfaces ricas com Rails e React.JSTDC2015  Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
 

Spring data

  • 1. Spring-Data Persistindo dados sem sofrimento André Luiz Forchesatto @forchesatto I BootCamp
  • 2. Agenda ● Realidade BD; ● Realidade Persistência em Java; ● SpringFramework; ● SpringData ● Interface Repository; ● Query Builder; ● @Query; ● Paginação;
  • 7. Spring framework “Spring is the most popular application development framework for enterprise Java™. Millions of developers use Spring to create high performing, easily testable, reusable code without any lock-in.”
  • 8. Spring framework ● Spring Security ● Spring Integration ● Spring Batch ● Spring Data ● Spring Web Flow ● Spring Web Services ● Spring Mobile ● Spring Social ● Spring Android
  • 10. Spring Data “Simplifica o desenvolvimento de aplicações que usam novas tecnologias de acesso a dados como: noSql, mapReduce e cloud. Além do suporte aperfeiçoado a bancos relacionais.”
  • 11. Spring Data ● JPA ● JDBC Extensions ● Hadoop ● GemFire Redis SubProjetos ● ● Riak ● MongoDB ● Neo4j ● Blob ● Commons
  • 12. Spring Data - COMMONS Conceito utilizado por todos os outros subprojetos, é utilizado como core do projeto Spring Data.
  • 13. Spring Data - COMMONS Uma interface principal denominada CrudRepository que deve ser herdada para cada Model Class da aplicação.
  • 14. Spring Data - CrudRepository
  • 15. Spring Data – CrudRepository Como usar na minha aplicação:
  • 16. Spring Data - Configuração
  • 18. Spring Data - Query Builder Construção de query utilizando somente o nome do método.
  • 19. Spring Data - Query Builder
  • 20. Spring Data - @Query Para aplicações que utilizam JPA, ainda é possível criar as query utilizando JPAQL
  • 21. Spring Data - @Query Para aplicações que utilizam MongoDB, ainda é possível criar as query utilizando MongoDB JSON query.
  • 23. Spring Data - Paginação Utilizando as classes Page e Pageable do Spring é possível fazer paginação na query com o minimo de esforço. Utilizando o método:
  • 24. Conclusões Mais tempo para focar na regra de negócio; Menos código menos erro;
  • 25. Referências ● http://www.springsource.org/spring-data ● https://github.com/SpringSource
  • 26. Obrigado!! Dúvidas? Contato: @forchesatto andreforchesatto@gmail.com andre.forchesatto@unoesc.edu.br