質問: 現在上記タグの技術を使って業務アプリを詳細設計しています。 現在以下のような一覧画面があって、その行の「口座名」を編集して「登録ボタン」押下時に更新できる仕様(仮)です。(登録ボタンは画像にはないですがあるとお考えください) ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/7135fea71005009d0399e08018a3e017.png) SpringFrameworkのサービスクラスでListの中の複数の要素(項目行)を更新するのですが、 そのときはどういう書き方になるのでしょうか? 知りたいのは**その要素分update文を実行するのか、あるいはupdate文を1度だけ実行するだけで済む方法があるか**ということです。 ちらっと外部設計の中でそれはinsert文でしたが、 **values以下(動的に変更する部分だけ)をListの要素分だけ繰り返し処理をする**という書き方をしている部分があったので、そのような書き方ができるのかなと気になっています。 自分のイメージでは**Listの数分繰り返し処理をして、 そのfor文の中でupdate処理を行う。なのでupdate文が複数回実行される**と思っていたので、 もし実行が1回で済む方法があれば、その方が断然パフォーマンスがいいと思うので知りたいです。 もしわかる方がいれば教えていただけると幸いです。 またListの複数行の更新の仕方、SpringFrameworkの実装方法なども教えていただけるとありがたいです。
回答: Spring→MySQLの実装部分に何かフレームワークを使っているのか不明なので具体的なコードは示せませんが、 SQLのUPDATE文で複数行対応できるクエリがかけるのであれば1回で完了しますし、逐次update文を投げたいのであれば、複数回のUPDATE文を投げた後にトランザクションをコミットすれば良いかと。