Weitere ähnliche Inhalte
Ähnlich wie jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界 (20)
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
- 2. Who ?
● わたなべ
○ twitter: @nabedge
○ (株)ビズリーチ SREグループ エンジニア
○ O/Rマッパの使用経験
■ O/Rマッパ使うなど軟弱ゥ -> S2JDBC -> MyBatis ->
-> DBFlute -> QueryDSL...そしてjOOQを試し中
● 過去の講演資料など
○ http://www.slideshare.net/nabedge/presentations
- 11. Java, SQL, jOOQ
● DSL = Domain Specific Language = ドメイン特化言語
● jOOQとは?
○ SQLをJavaで書ける”internal DSL” (意訳: オレオレDSL)
を提供するJava-APIライブラリとツール
● jOOQの効果は?
○ Java上でタイプセーフにSQLを書いて実行できる
- 13. jOOQの使い方ざっくり(1)
1. テーブルを張った状態のDBを用意する
a. sql-maven-plugin あるいは Flyway が便利
2. jOOQ + maven or gradle or API直たたき で、
jOOQ-DSL的なJavaコードを自動生成する
3. 自動生成したコードをIDE上でソースコード扱い(コンパイル対象)にする
a. src/main/java 配下に出力するならそこをVCS管理にするかignoreするかは要
検討
b. target/generated-sources (デフォルト)配下に出力するならIDEの設定に少し
注意
- 18. 疑り深いあなたのために
● 実際に組み立て&発行されるSQL文を
JDBCのレベルでトラップして確認するには? -> log4jdbcをどうぞ
● そんなことしなくてもjOOQならSQL文のログ出力機能が初めからあるけどね。
○ ただし “commit”, “rollback” の実行までをもログに吐く にはlog4jdbcしかなさそう。
● jOOQを使いつつ「手組み」の文字列をSQLに含めることも可能
○ https://www.jooq.org/doc/3.9/manual/sql-building/plain-sql/
● SQL文の組み立てだけをjOOQのgetSQL()でやって、他の手段でそれを実行するこ
とも可能。超疑り深い人用。