ORM de fluxo Java
Speedment é um kit de ferramentas e tempo de execução Java Stream ORM de código aberto. O kit de ferramentas analisa os metadados de um banco de dados SQL existente e cria automaticamente uma representação Java do modelo de dados. Este poderoso ORM permite criar aplicativos Java escalonáveis e eficientes usando fluxos Java padrão , sem a necessidade de digitar SQL ou usar qualquer nova API.
Speedment foi originalmente desenvolvido por pesquisadores e engenheiros baseados em Palo Alto com o objetivo de simplificar e agilizar o desenvolvimento de aplicativos de banco de dados Java, aproveitando a API Java Stream.
Speedment é licenciado sob a licença Apache 2 para negócios. A contribuição dos usuários é incentivada. Fique à vontade para solicitar novos recursos, sugerir melhorias e enviar relatórios de bugs. Leia mais sobre como contribuir aqui.
Início rápido
Supondo que você tenha o Maven instalado e um banco de dados relacional disponível, você pode começar a usar o Speedment em um minuto:
- Inicie um novo projeto Speedment Maven
- Conecte-se ao seu banco de dados
Expressando SQL como Java Streams
Há uma semelhança notável entre os fluxos Java e SQL, conforme resumido na tabela simplificada. Isso significa que não há mais necessidade de escrever consultas SQL manualmente. Você pode permanecer em um mundo Java puro!
Exemplo
Pesquise em um banco de dados de filmes um filme com duração superior a 120 minutos:
// Searches are optimized in the background!
Optional < Film > longFilm = films . stream ()
. filter ( Film . LENGTH . greaterThan ( 120 ))
. findAny ();
Resultados na seguinte consulta SQL:
SELECT
` film_id ` , ` title ` , ` description ` , ` release_year ` ,
` language_id ` , ` original_language_id ` , ` rental_duration ` , ` rental_rate ` ,
` length ` , ` replacement_cost ` , ` rating ` , ` special_features ` ,
` last_update `
FROM
` sakila ` . ` film `
WHERE
( ` length ` > 120 )
Características
Speedment está equipado com os recursos listados abaixo e muito mais.
Visualizar tabelas de banco de dados como fluxos Java padrão
- Pure Java - Stream API em vez de SQL elimina a necessidade de uma linguagem de consulta
- Junções dinâmicas - Capacidade de realizar junções como fluxos Java no lado do aplicativo
- Fluxos Paralelos – A carga de trabalho pode ser dividida automaticamente em vários threads
Código de segurança de tipo curto e conciso
- Geração de código - A representação Java automática do estado mais recente do seu banco de dados elimina o código clichê e a necessidade de escrever manualmente classes de entidades Java, ao mesmo tempo que minimiza o risco de bugs.
- Proteção Nula - Minimiza o risco envolvido com valores nulos do banco de dados, agrupando-os em Java Opcionais
- Integração Enum - O mapeamento de colunas String para Java Enums aumenta a eficiência da memória e a segurança de tipo
Avaliação preguiçosa para aumento de desempenho
- Streams são preguiçosos – o conteúdo do banco de dados é extraído conforme os elementos são necessários e consumidos
- Introspecção de pipeline - Desempenho otimizado por curto-circuito de operações de fluxo
Tutoriais
Os tutoriais são divididos em três seções. Os princípios básicos são abordados na primeira seção sem qualquer conhecimento prévio esperado do Speedment. Isso cria uma base de conhecimento necessária para se beneficiar totalmente dos tutoriais a seguir.
Noções básicas
- Tutorial 1 - Olá Speedment
- Tutorial 2 - Uma primeira transmissão do Speedment
Exemplos de aplicativos
- Tutorial 3 - Integração Speedment Spring Boot; DESCANSE tranquilo - é fácil
- Tutorial 4 - Filtros de velocidade baseados em Json Web Tokens
- Tutorial 5 – Registrar erros em um banco de dados
- Tutorial 6 – Use Speedment com Java EE
- Tutorial 7 - Criar sistemas originados por eventos
- Tutorial 8 – Escrevendo suas próprias extensões
Estendendo a velocidade
- Tutorial 9 – Formatando sua saída como JSON
- Tutorial 10 – Trabalhando com BLOBS e CLOBS
Recursos
- Documentação - Leia o Guia do usuário do Speedment.
- JavaDocs - JavaDocs de velocidade mais recentes.
- Exemplos - Existem 15 exemplos detalhados aqui e mais podem ser encontrados no Guia do Usuário fornecido acima.
- Sala de bate-papo do Gitter - Entre em contato com os desenvolvedores do Speedment e outros membros da comunidade por meio da sala de bate-papo do Gitter.
- Criando uma solicitação pull - Solicitações pull e sugestões de melhorias da comunidade são aceitas com prazer. Encontre mais informações aqui.
Requisitos
Versão Java
Speedment requer Java 8
ou posterior. Certifique-se de que seu IDE esteja configurado para usar JDK 8 (versão 1.8.0_40 ou mais recente).
Conectores de banco de dados
Speedment Open Source vem com suporte pronto para uso para os seguintes bancos de dados:
- MySQL
- Maria DB
- PostgreSQL
- SQLite
Os conectores de banco de dados corporativos incluem:
- AS400
- Cassandra
- DB2
- Informix
- Oráculo
- Floco de neve
- Servidor SQL
Para obter mais informações, consulte Licenciamento e preços do Speedment.
Licenças
- Speedment Open Source - Este site cobre o projeto Speedment Open Source disponível sob a licença Apache 2.
- Speedment Stream - Os mesmos excelentes recursos do Speedment OSS com suporte para bancos de dados comerciais. Saiba mais em speedment.com/stream.
- Speedment HyperStream - Uma extensão do Speedment Stream que também inclui desempenho de consulta hipersônica habilitado por um modelo exclusivo de gerenciamento de memória na JVM. Saiba mais em speedment.com/hyperStream.
Direitos autorais
Copyright (c) 2014-2019, Speedment, Inc. Todos os direitos reservados. Visite www.speedment.com para mais informações.
Atividade do Github visualizada