Speedment 簡介

Speedment is a Java 8 Stream ORM Toolkit and Runtimehtml

Speedment

Speedment 是一個基於 Java8 Stream 的 ORM 工具包和運行時環境。git

做爲一個 ORM 框架,Speedment 能夠從傳統關係型數據庫中分析數據,同時,在它提供的運行時環境下,也能夠開發基於 Java 的數據庫應用。你只須要用標準的 Java8 Stream,不用寫任何sql,類sql。github

示例

查找一個超過120分鐘的電影:sql

// Searches are optimized in the background!
Optional<Film> longFilm = films.stream()
    .filter(Film.LENGTH.greaterThan(120))
    .findAny();

結果爲下列sql:數據庫

SELECT 
    `film_id`,`title`,`description`,`release_year`
FROM 
     FROM `sakila`.`film
WHERE
    (`length` > 120)

不須要寫任何sql,一個完美的純Java世界!框架

Stream 與 SQL

After all, we all love Java and why should we need to know SQL工具

我如此喜歡Java,爲何還要學SQL?code

Stream 與 SQL 有類似的語義,見下表:htm

SQL Java8 Stream
FROM stream()
SELECT map()
WHERE filter() (before collecting)
HAVING filter() (after collecting)
JOIN flatMap()
DISTINCT distinct()
UNION concat(s0, s1).distinct()
ORDER BY sorted()
OFFSET skip()
LIMIT limit()
GROUP BY collect(groupingBy())
COUNT count()

文檔地址

相關文章
相關標籤/搜索