以下の内容はhttps://uga-box.hatenablog.com/entry/2024/10/03/000000より取得しました。


【Kotlin】JOOQとは

JOOQというO/Rマッパーを知ったので調べた

www.jooq.org

JOOQはSQLクエリを型安全に生成・実行するためのライブラリ

JOOQはもともとJavaのO/RマッパーだがSQLの構文をそのまま活かしつつ、Kotlinコードで書けるようにしている

R2DBCによるノンブロッキングI/Oに対応しているとのこと

R2DBC(Reactive Relational Database Connectivity)とは、非同期でリアクティブプログラミングのために設計された関係データベースへのアクセス仕様のこと

JOOQを使うことで、Kotlinの型システムを活用しながら、コンパイル時にSQLのエラーチェックが可能になる

基本的な使い方としては、データベーススキーマから生成されたコードを用いて、クエリビルダーのようにSQLを構築できる

例えば、データベースのテーブルやフィールドを直接参照して、クエリを組み立てることができるため、クエリの構築が直感的になる

簡単な例:

val result = context
    .select(BOOK.TITLE, AUTHOR.NAME)
    .from(BOOK)
    .join(AUTHOR).on(BOOK.AUTHOR_ID.eq(AUTHOR.ID))
    .where(BOOK.PUBLISHED_YEAR.eq(2023))
    .fetch()

上記のように、テーブルやカラムを直接コードで扱うことで、SQL文を型安全に構築できる

クエリの結果は通常、データベースの行を表すオブジェクトやリストとして取得可能

また、DSLを使うことで、複雑なクエリも簡潔に書けるのが特徴




以上の内容はhttps://uga-box.hatenablog.com/entry/2024/10/03/000000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14