ORM de flujo de Java
Speedment es un kit de herramientas y tiempo de ejecución Java Stream ORM de código abierto. El kit de herramientas analiza los metadatos de una base de datos SQL existente y crea automáticamente una representación Java del modelo de datos. Este potente ORM le permite crear aplicaciones Java escalables y eficientes utilizando secuencias Java estándar sin necesidad de escribir SQL ni utilizar ninguna API nueva.
Speedment fue desarrollado originalmente por investigadores e ingenieros con sede en Palo Alto con el propósito de simplificar y agilizar el desarrollo de aplicaciones de bases de datos Java aprovechando la API Java Stream.
Speedment tiene la licencia Apache 2, ideal para empresas. Se recomienda la contribución de los usuarios. No dude en solicitar nuevas funciones, sugerir mejoras y presentar informes de errores. Lea más sobre cómo contribuir aquí.
Inicio rápido
Suponiendo que tenga Maven instalado y una base de datos relacional disponible, puede comenzar a usar Speedment en un minuto:
- Iniciar un nuevo proyecto Speedment Maven
- Conéctese a su base de datos
Expresando SQL como Java Streams
Existe un parecido notable entre los flujos de Java y SQL, como se resume en la tabla simplificada. Esto significa que ya no es necesario escribir consultas SQL manualmente. ¡Puedes permanecer en un mundo Java puro!
Ejemplo
Busque en una base de datos de películas una película con una duración superior a 120 minutos:
// Searches are optimized in the background!
Optional < Film > longFilm = films . stream ()
. filter ( Film . LENGTH . greaterThan ( 120 ))
. findAny ();
Resultados en la siguiente 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 con las funciones que se enumeran a continuación y más.
Ver tablas de bases de datos como secuencias Java estándar
- Java puro : Stream API en lugar de SQL elimina la necesidad de un lenguaje de consulta
- Uniones dinámicas : capacidad de realizar uniones como secuencias de Java en el lado de la aplicación
- Flujos paralelos : la carga de trabajo se puede dividir automáticamente en varios subprocesos
Código seguro de tipo breve y conciso
- Generación de código : la representación Java automática del estado más reciente de su base de datos elimina el código repetitivo y la necesidad de escribir manualmente clases de entidad Java al tiempo que minimiza el riesgo de errores.
- Protección nula : minimiza el riesgo relacionado con los valores nulos de la base de datos al ajustarse a las opciones Java
- Integración de enumeraciones : la asignación de columnas de cadena a enumeraciones de Java aumenta la eficiencia de la memoria y la seguridad de tipos
Evaluación diferida para un mayor rendimiento
- Las transmisiones son diferidas : el contenido de la base de datos se extrae a medida que se necesitan y consumen elementos
- Introspección de tuberías : rendimiento optimizado mediante cortocircuitos de operaciones de flujo
Tutoriales
Los tutoriales se dividen en tres secciones. Los conceptos básicos se tratan en la primera sección sin ningún conocimiento previo esperado de Speedment. Esto construye una base de conocimiento necesaria para beneficiarse plenamente de los siguientes tutoriales.
Lo esencial
- Tutorial 1 - Hola Speedment
- Tutorial 2: una primera transmisión de Speedment
Aplicaciones de muestra
- Tutorial 3: Integración de Speedment Spring Boot; DESCANSE seguro: es fácil
- Tutorial 4 - Filtros de velocidad basados en Json Web Tokens
- Tutorial 5 - Registrar errores en una base de datos
- Tutorial 6: Utilice Speedment con Java EE
- Tutorial 7: Crear sistemas basados en eventos
- Tutorial 8: escribir tus propias extensiones
Extendiendo la velocidad
- Tutorial 9: Formatear su salida como JSON
- Tutorial 10 - Trabajar con BLOBS y CLOBS
Recursos
- Documentación : lea la Guía del usuario de Speedment.
- JavaDocs : los últimos JavaDocs de Speedment.
- Ejemplos : aquí hay 15 ejemplos detallados y se pueden encontrar más en la Guía del usuario proporcionada anteriormente.
- Sala de chat de Gitter : comuníquese con los desarrolladores de Speedment y otros miembros de la comunidad a través de la sala de chat de Gitter.
- Creación de una solicitud de extracción : se aceptan con gusto las solicitudes de extracción y las sugerencias de mejora de la comunidad. Encuentre más información aquí.
Requisitos
Versión Java
Speedment requiere Java 8
o posterior. Asegúrese de que su IDE esté configurado para usar JDK 8 (versión 1.8.0_40 o posterior).
Conectores de bases de datos
Speedment Open Source viene con soporte para las siguientes bases de datos listas para usar:
- mysql
- mariadb
- PostgreSQL
- SQLite
Los conectores de bases de datos empresariales incluyen:
- AS400
- casandra
- DB2
- informax
- Oráculo
- Copo de nieve
- Servidor SQL
Para obtener más información, consulte Precios y licencias de Speedment.
Licencias
- Speedment Open Source : este sitio cubre el proyecto Speedment Open Source disponible bajo la licencia Apache 2.
- Speedment Stream : las mismas funciones excelentes que Speedment OSS con soporte para bases de datos comerciales. Obtenga más información en speedment.com/stream.
- Speedment HyperStream : una extensión de Speedment Stream que también incluye rendimiento de consultas hipersónicas habilitado por un modelo único de gestión de memoria en JVM. Obtenga más información en speedment.com/hyperStream.
Derechos de autor
Copyright (c) 2014-2019, Speedment, Inc. Todos los derechos reservados. Visite www.speedment.com para obtener más información.
Actividad de Github visualizada