一、包結構
二、各層代碼
(1)數據User
public class User {private Integer id;private String userName;private String note;public User() {super();}public User(Integer i, String userName, String note) {super();this.id = i;this.userName = userName;this.note = note;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getNote() {return note;}public void setNote(String note) {this.note = note;}}
(2)dao層
IUserDao接口
public interface IUserDao {public User getUser(Integer id);public Boolean insertUser(User user);public List<User> findAllUser();Boolean deleteUser(Integer id);Boolean modifyUserName(Integer id, String newUserName);
}
實現類:
@Repository
public class UserDaoImpl implements IUserDao {private List<User> users = new ArrayList<User>();public UserDaoImpl() {super();users.add(new User(1, "user_name_1", "note_1"));users.add(new User(2, "user_name_2", "note_2"));users.add(new User(3, "user_name_3", "note_3"));}@Override/* 根據id來返回對象*/public User getUser(Integer id) {// TODO Auto-generated method stubfor (User user : users) {if (user.getId().equals(id)) {return user;}}return null;}@Overridepublic Boolean insertUser(User user) {// TODO Auto-generated method stubBoolean flag=false;System.out.println(user.getUserName()+">>"+user.getNote());users.add(user); //User為上上面申明的集合 add方法為List集合的方法flag=true;return flag;}@Override public List<User> findAllUser() { return users; }
}
(3)service層:
?
IUserService接口:
public interface IUserService {public User getUser(Integer id);public List<User> findAllUser();public Boolean insertUser(User user);public List<User> queryUser(String userName,String note);Boolean deleteUser(Integer id);Boolean modifyUserName(Integer id, String newUserName);
}
實現類:
@Service
public class UserServiceImpl implements IUserService {@Autowiredprivate IUserDao userDao;/* 省去了申明傳值的步驟*/@Override/*根據User來獲取對象*/public User getUser(Integer id) {// TODO Auto-generated method stubreturn userDao.getUser(id);}@Overridepublic Boolean insertUser(User user) {// TODO Auto-generated method stubBoolean flag=false;System.out.println(user.getUserName()+">>"+user.getNote());flag=userDao.insertUser(user);return flag;}@Overridepublic List<User> findAllUser() {List<User> users = userDao.findAllUser();if (users.size() > 1) {for (int i = 1; i < users.size(); i++) {User currentUser = users.get(i);User previousUser = users.get(i-1);if (currentUser.getId() == null) {currentUser.setId(previousUser.getId()+1);}}}return users;}@Overridepublic List<User> queryUser(String userName1, String note1) {List<User> users = userDao.findAllUser();List<User> result = new ArrayList<>();for (User user : users) {if (user.getUserName().equals(userName1) && user.getNote().equals(note1)) {result.add(user);}}return result;}public Boolean deleteUser(Integer id) {return userDao.deleteUser(id);}@Overridepublic Boolean modifyUserName(Integer id, String newUserName) {return userDao.modifyUserName(id, newUserName);}
}
(4)controller層
@Controller
@RequestMapping("/user")
public class UserController {@Autowiredprivate IUserService userService=null;@GetMapping("/add")public String add() {return "add";}/** 新增用戶*@param user 通過@RequestBody注解得到JSON參數*return 返回用戶信息*/@PostMapping("/insert")@ResponseBodypublic User insert(@RequestBody User user) {userService.insertUser(user);return user;}//顯示數據 http://localhost:8080/user/list@RequestMapping("/list")@ResponseBodypublic List<User> list(){//訪問模型層得到數據List<User> users=userService.findAllUser();return users;}//顯示數據 http://localhost:8080/user/table@RequestMapping("/table")public ModelAndView table0() {//訪問模型層得到數據List<User> users=userService.findAllUser();System.out.println("111");//模型和視圖ModelAndView mv=new ModelAndView();//定義模型視圖 1mv.setViewName("table");//加入數據模型mv.addObject("users",users);//返回模型和視圖return mv;}@RequestMapping(value = "/query1")@ResponseBodypublic ModelAndView query1(@RequestParam(value = "userName") String userName,@RequestParam("note") String note){List<User> users=userService.queryUser(userName,note);ModelAndView mv=new ModelAndView();mv.setViewName("table");mv.addObject("users",users);return mv;}@RequestMapping("/delete/{id}")public String deleteUser(@PathVariable Integer id, Model model) {boolean success = userService.deleteUser(id);model.addAttribute("success", success);model.addAttribute("deletedUserId", id);return "delete";}@GetMapping("/modify")public String showModifyPage() {return "modify";}@PostMapping("/modify")@ResponseBodypublic ResponseEntity<Map<String, String>> modifyUser(@RequestParam int userId,@RequestParam String newUserName) {// 進行修改用戶的邏輯,假設這里調用了修改用戶的 service 方法boolean success = userService.modifyUserName(userId, newUserName);// 返回修改后的結果Map<String, String> result = new HashMap<>();result.put("modifiedUserId", String.valueOf(userId));result.put("newUserName", newUserName);// 返回 ResponseEntityreturn ResponseEntity.ok(result);}
}