使用Java 14的新記錄型別連線資料庫表 - Minborg
您是否知道可以使用Java 14的預覽記錄功能將資料庫表連線到Java Stream中?閱讀這篇簡短的文章,並瞭解如何使用Speedment Stream ORM完成它 。我們將從如何設定您的專案開始。
下載Java 14。轉到Speedment Initializer並下載您的專案配置(包括pom.xml)。修改pom.xml檔案中的以下行:
<maven.compiler.source>14</maven.compiler.source> <maven.compiler.target>14</maven.compiler.target> ... <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <release>14</release> <compilerArgs> --enable-preview </compilerArgs> </configuration> </plugin> |
確保您具有支援新Java 14功能的最新版本的ide(例如IDEA 2010.1)。
表,檢視和聯接可以很容易地轉化為標準的Java與Speedment流。這就是在Java 14中的樣子:
var speedment = new SakilaApplicationBuilder() .withPassword("sakila") .withBundle(JoinBundle.class) .build(); var joinComponent = speedment.getOrThrow(JoinComponent.class); var films = speedment.getOrThrow(FilmManager.class); // Define a Java 14 "record" that can hold a Film and a Language record FilmLanguage(Film film, Language language) {} var join = joinComponent.from(films.getTableIdentifier()) .leftJoinOn(Language.LANGUAGE_ID).equal(Film.LANGUAGE_ID) // Provide the constructor of the Java 14 "record" // to be used to construct Film/Language composites .build(FilmLanguage::new); join.stream() .forEach(filmLanguage -> System.out.format( "%s is in %s%n", filmLanguage.film().getTitle(), filmLanguage.language().getName()) ); |
輸出結果:
ACADEMY DINOSAUR is in English ACE GOLDFINGER is in English ADAPTATION HOLES is in English |
joinComponent的幾個方法描述:
from()方法獲取我們要使用的第一個表(Film)。
leftJoinOn()方法採用我們要連線的第二張表的特定列。
equal()方法從我們要用作連線條件的第一個表中獲取一列。
最後,構造我們的物件,該物件又可以用於建立Java Streams。可以反覆使用該物件。 注意怎樣的建構函式中提供的方法。
還請注意如何從記錄
FilmLanguage |
在此處 下載開源Java 14 。
在此處下載Speedment 。
相關文章
- Kettle自定義資料庫連線型別連線HGDB資料庫型別
- 【Java】Java新特性--Records記錄型別Java型別
- 表連線型別型別
- MyBatis Java 和 資料庫 資料型別對應表MyBatisJava資料庫資料型別
- java連線資料庫Java資料庫
- 連線別人的MySql資料庫MySql資料庫
- Java備忘錄《資料型別》Java資料型別
- 通過觸發器記錄資料庫連線資訊觸發器資料庫
- Java 資料庫連線的那些事Java資料庫
- Masonite 熟悉步驟小記錄 (二、連線資料庫)資料庫
- Flask框架使用藍圖劃分目錄、g物件、使用資料庫連線池連結資料庫Flask框架物件資料庫
- 使用Sequelize連線資料庫資料庫
- 使用JPA連線資料庫資料庫
- 使用Python連線資料庫Python資料庫
- Java 資料型別和 MySql 資料型別對應一覽表JavaMySQL 資料型別
- 資料型別 - Go 學習記錄資料型別Go
- 資料庫表連線的簡單解釋資料庫
- 【MySQL】自定義資料庫連線池和開源資料庫連線池的使用MySql資料庫
- 使用instantclient連線oracle資料庫clientOracle資料庫
- 使用C#連線資料庫C#資料庫
- 使用PETAPOCO連線MYSQL資料庫MySql資料庫
- 使用cmd連線mysql資料庫MySql資料庫
- 使用ABAP(ADBC)和Java(JDBC)連線SAP HANA資料庫JavaJDBC資料庫
- Java Druid資料庫連線池+SpringJDBCJavaUI資料庫SpringJDBC
- C#學習 [型別系統] 記錄(14)C#型別
- 資料庫中字串連線符的使用資料庫字串
- Java資料型別與資料庫欄位型別對應關係Java資料型別資料庫
- 【資料庫】使用DBever連線人大金倉資料庫資料庫
- 面試題: 資料庫:delete和trancate刪除表記錄的區別面試題資料庫delete
- MYSQL資料庫型別與JAVA型別對應關係MySql資料庫型別Java
- Realm 升級資料庫,為表新增新的Field遇到的異常記錄資料庫
- 用Navicat連線資料庫-資料庫連線(MySQL演示)資料庫MySql
- Laravel 使用多個資料庫連線Laravel資料庫
- Django使用pymysql連線MySQL資料庫DjangoMySql資料庫
- 連線資料庫資料庫
- Java中的基本資料型別與引用資料型別Java資料型別
- 資料庫的連線數資料庫
- SQL的連線型別SQL型別