更新(汚れた切断)
1904 ワード
更新
1.saveによる更新
そして保存
saveは通常挿入に使用されます.
save関数がidを渡さない場合、insertが提供されます.
save関数はidを渡すと、そのidのデータがあれば更新されます.
save関数はidを渡す際に、そのidのデータがなければinsertを提供する
@requestBodyリファレンスの使用
jsonデータを要求するとき->Javaオブジェクト(MessageConverterのJacksonライブラリで変換して受信)
2.Transactional使用状況の更新
@Transactionalメソッドの終了時に自動的にコミット
1.saveによる更新
@PutMapping("/dummy/user/{id}")
public User updateUser(@PathVariable int id , @RequestBody User requestUser) {
System.out.println("id : "+id);
System.out.println("password : "+ requestUser.getPassword());
System.out.println("email : "+ requestUser.getEmail());
//유저 id로 유저 정보를 가지고와 user에 담는다
User user = userRepository.findById(id).orElseThrow(()->{
return new IllegalArgumentException("수정 실패");
});
//user에 담겨있는 정보를 변경한다
user.setPassword(requestUser.getPassword());
user.setEmail(requestUser.getEmail());
userRepository.save(user);
return null;
}
json形式のデータ(変更するデータ)をputで受信して設定するそして保存
saveは通常挿入に使用されます.
save関数がidを渡さない場合、insertが提供されます.
save関数はidを渡すと、そのidのデータがあれば更新されます.
save関数はidを渡す際に、そのidのデータがなければinsertを提供する
@requestBodyリファレンスの使用
jsonデータを要求するとき->Javaオブジェクト(MessageConverterのJacksonライブラリで変換して受信)
2.Transactional使用状況の更新
@Transactional
@PutMapping("/dummy/user/{id}")
public User updateUser(@PathVariable int id , @RequestBody User requestUser) {
System.out.println("id : "+id);
System.out.println("password : "+ requestUser.getPassword());
System.out.println("email : "+ requestUser.getEmail());
//유저 id로 유저 정보를 가지고와 user에 담는다
User user = userRepository.findById(id).orElseThrow(()->{
return new IllegalArgumentException("수정 실패");
});
//user에 담겨있는 정보를 변경한다
user.setPassword(requestUser.getPassword());
user.setEmail(requestUser.getEmail());
return null;
@Transactionalによる更新=ダーティ処理と呼ぶ@Transactionalメソッドの終了時に自動的にコミット
Reference
この問題について(更新(汚れた切断)), 我々は、より多くの情報をここで見つけました https://velog.io/@hoppang/update-더티-체킹テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol