spring data
DESCRIPTION
Palestra do I BootCamp Unoesc Xanxerê e OeSC-Livre sobre Spring Data FrameworkTRANSCRIPT
![Page 1: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/1.jpg)
Spring-Data Persistindo dados sem sofrimento
I BootCampAndré Luiz Forchesatto@forchesatto
![Page 2: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/2.jpg)
Agenda
● Realidade BD;● Realidade Persistência em Java;● SpringFramework;● SpringData● Interface Repository;● Query Builder;● @Query;● Paginação;
![Page 3: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/3.jpg)
Realidade Banco de dados
![Page 4: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/4.jpg)
![Page 5: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/5.jpg)
Spring Data
![Page 6: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/6.jpg)
Realidade Persistência Java
![Page 7: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/7.jpg)
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.”
![Page 8: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/8.jpg)
Spring framework
● Spring Security● Spring Integration● Spring Batch● Spring Data● Spring Web Flow● Spring Web Services● Spring Mobile● Spring Social● Spring Android
![Page 9: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/9.jpg)
Spring framework
![Page 10: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/10.jpg)
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.”
![Page 11: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/11.jpg)
Spring Data
SubProjetos
● JPA● JDBC Extensions● Hadoop● GemFire● Redis● Riak● MongoDB● Neo4j● Blob● Commons
![Page 12: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/12.jpg)
Spring Data - COMMONS
Conceito utilizado por todos os outros subprojetos, é utilizado como core do projeto Spring Data.
![Page 13: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/13.jpg)
Spring Data - COMMONS
Uma interface principal denominada CrudRepository que deve ser herdada para cada Model Class da aplicação.
![Page 14: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/14.jpg)
Spring Data - CrudRepository
![Page 15: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/15.jpg)
Spring Data – CrudRepository
Como usar na minha aplicação:
![Page 16: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/16.jpg)
Spring Data - Configuração
![Page 17: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/17.jpg)
Demonstração
![Page 18: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/18.jpg)
Spring Data - Query Builder
Construção de query utilizando somente o nome do método.
![Page 19: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/19.jpg)
Spring Data - Query Builder
![Page 20: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/20.jpg)
Spring Data - @Query
Para aplicações que utilizam JPA, ainda é possível criar as query utilizando JPAQL
![Page 21: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/21.jpg)
Spring Data - @Query
Para aplicações que utilizam MongoDB, ainda é possível criar as query utilizando MongoDB JSON query.
![Page 22: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/22.jpg)
Demonstração
![Page 23: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/23.jpg)
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:
![Page 24: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/24.jpg)
Conclusões
Mais tempo para focar na regra de negócio;
Menos código menos erro;
![Page 25: Spring data](https://reader036.vdocuments.site/reader036/viewer/2022082223/5579a2c1d8b42ac1148b48d8/html5/thumbnails/25.jpg)
Referências
● http://www.springsource.org/spring-data● https://github.com/SpringSource