Skip to content

Commit 835665d

Browse files
committed
Add transaction logic
1 parent 56fc437 commit 835665d

File tree

3 files changed

+21
-9
lines changed

3 files changed

+21
-9
lines changed

src/main/java/com/example/demo/domain/model/repository/jdbc/UserDaoJdbcImpl.java

+5
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,11 @@ public int updateOne(User user) throws DataAccessException {
136136
, user.getUserId()
137137
);
138138

139+
// 一時的に追加
140+
//if(rowNumber > 0) {
141+
// throw new DataAccessException("トランザクション確認") {};
142+
//}
143+
139144
return rowNumber;
140145
}
141146

src/main/java/com/example/demo/domain/service/UserService.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,18 @@
1111
import org.springframework.beans.factory.annotation.Qualifier;
1212
import org.springframework.dao.DataAccessException;
1313
import org.springframework.stereotype.Service;
14+
import org.springframework.transaction.annotation.Transactional;
1415

1516
import com.example.demo.domain.model.User;
1617
import com.example.demo.domain.model.repository.UserDao;
1718

1819

20+
@Transactional
1921
@Service
2022
public class UserService {
2123
@Autowired
22-
@Qualifier("UserDaoNamedJdbcImpl")
24+
//@Qualifier("UserDaoNamedJdbcImpl")
25+
@Qualifier("UserDaoJdbcImpl")
2326
UserDao dao;
2427

2528
// insert用メソッド

src/main/java/com/example/demo/login/controller/HomeController.java

+12-8
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import java.util.Map;
77

88
import org.springframework.beans.factory.annotation.Autowired;
9+
import org.springframework.dao.DataAccessException;
910
import org.springframework.http.HttpHeaders;
1011
import org.springframework.http.HttpStatus;
1112
import org.springframework.http.ResponseEntity;
@@ -116,15 +117,18 @@ public String postUserDetailUpdate(@ModelAttribute SignupForm form, Model model)
116117
user.setAge(form.getAge());
117118
user.setMarriage(form.isMarriage());
118119

119-
// 更新実行
120-
boolean result = userService.updateOne(user);
121-
122-
if(result) {
123-
model.addAttribute("result", "更新成功");
124-
} else {
125-
model.addAttribute("result", "更新失敗");
120+
try {
121+
// 更新実行
122+
boolean result = userService.updateOne(user);
123+
124+
if(result) {
125+
model.addAttribute("result", "更新成功");
126+
} else {
127+
model.addAttribute("result", "更新失敗");
128+
}
129+
} catch(DataAccessException e) {
130+
model.addAttribute("result", "更新に失敗しました。");
126131
}
127-
128132
// ユーザー一覧画面を表示
129133
return getUserList(model);
130134
}

0 commit comments

Comments
 (0)