[戻る]
Java読書会BOF「Spring徹底入門 第2版」を読む会 第14回¶
日時 |
2025年11月15日(土) 10:00-17:00 |
場所 |
エポックなかはら 第2会議室 |
出席者(敬称略) |
高橋(智)、遠藤、岩室、井上、藤井、高橋(徹)(記) |
本日は、p.548 11.3.5 SELECT(Read)操作の実装から
Chapter 11 Spring + MyBatis¶
11.3 基本的なCRUD操作¶
11.3.5 SELECT(Read)操作の実装¶
p.548 インターフェイス実装例の long count()は、JPAなどではどうするか?
Spring JPAでは、リポジトリに count() が実装されているので自分で定義する必要はない
p.550 マッピング例で、resultMapの定義の中にcapacityがないのはなぜ?
capacityは、カラム名とプロパティ名が同一なので省略していると思われる
11.3.6 INSERT(Create)操作の実装¶
p.552 上 アノテーションを使用したSQLの指定例 で、INSERT文を実行するメソッドcreateの戻り値がvoidになっているが、SQLのINSERT文はINSERTした行数(affected rows)が返る。voidでなくintとすると、INSERT文の結果が得られるか?
<事後確認> p.553の下1-2行目にUPDATE操作の実装の説明で「更新時の戻り値は(中略)それ以外は数値(intまたはlong)にする。なお、更新件数の判定が不要な場合はvoidでもよい」とあるので、これと同じと考える。
UUIDをキーにすることについての議論
UUIDは順序性がないのでインデックスに向かない
UUID v7は時間順に並ぶのでインデックスに向く
PostgreSQL v18では、UUID v7に対応
11.3.7 UPDATE操作の実装¶
【誤植】 p.553 下2行目 「主キーやユニークキーの更新の場合はboolean」→「主キーやユニークキーで更新の場合はboolean」
同、主キーやユニークキーでの更新時、戻り値をintにしてはいけないのか?
0か1が返るのでいいのでは
11.4 MyBatisでの応用的なCRUD操作¶
11.4.1 マッピングファイル上での動的SQLの組み立て¶
【宿題】 p.558 SQLの記述で、list と出てくるがこれは変数名なのか?
Chaper 12 Spring + Thymeleaf¶
12.1 Tymeleafとは¶
12.3 Thymeleafを利用したViewの実装¶
12.3.1 はじめてのThymeleaf¶
output.html で ${echoForm.text} と参照しているechoFormはどのように渡されているのか?
Controllerで、POST /echo にマッピングしたメソッドの引数でEchoFormを受けている。これは自動でModelに格納されると4章 p.166に記述あり。
12.3.3 式の構文¶
p.578 比較演算で、属性(th:if)の中で比較演算子(<>)を使うときエスケープ必要?
HTMLで属性の値記述の文字列内でどの文字がエスケープ必要か調べようとしましたが、HTMLの仕様はかなり複雑で、またBNF定義がないので難航。
次回¶
本日は、p.588 12.3.8 Springとの連携の最後まで。 次回は、p.589 12.3.9 テンプレートの共通化からです。
[戻る]