四、多对多实现
使用上一章内容
位于entity包
/** * @author Ray * @date 2018/7/7 0007 * 运营商实体类 */ public class Combo { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Combo{" + "id=" + id + ", name='" + name + '\'' + '}'; } }位于entity包
/** * @author Ray * @date 2018/7/7 0007 * 用户拥有运营商实体 */ public class UserCombo { private int uid; private int cid; private int price; private List<Combo> combos; public List<Combo> getCombos() { return combos; } public void setCombos(List<Combo> combos) { this.combos = combos; } public int getUid() { return uid; } public void setUid(int uid) { this.uid = uid; } public int getCid() { return cid; } public void setCid(int cid) { this.cid = cid; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } @Override public String toString() { return "UserCombo{" + "uid=" + uid + ", cid=" + cid + ", price=" + price + ", combos=" + combos + '}'; } }位于entity包,添加UserCombo集合,添加对应的setter、getter
/** * @author Ray * @date 2018/7/7 0007 * 用户实体类 */ public class User { /** * 编号(主键) */ private int id; /** * 用户名 */ private String name; /** * 新增Phone集合 */ private List<Phone> phones; /** * 新增UserCombo集合 */ private List<UserCombo> userCombos; public List<UserCombo> getUserCombos() { return userCombos; } public void setUserCombos(List<UserCombo> userCombos) { this.userCombos = userCombos; } public List<Phone> getPhones() { return phones; } public void setPhones(List<Phone> phones) { this.phones = phones; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public User() { } public User(String name) { this.name = name; } @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + '}'; } }位于mapper包,添加查询方法selectComboById(Integer id)
/** * @author Ray * @date 2018/7/7 0007 * 数据操作层 */ public interface UserMapper { /** * 根据id获取用户信息 */ public User selectById(Integer id); /** * 查询所有用户信息 */ public List<User> list(); /** * 新增用户信息 */ public int insert(User user); /** * 修改用户信息 */ public int update(User user); /** * 删除用户信息 */ public int delete(Integer id); /** * 根据id查询用户的所有电话信息 */ public User selectPhoneById(Integer id); /** * 根据id查询用户选择的运营商 */ public User selectComboById(Integer id); }位于controller包
/** * @author Ray * @date 2018/7/7 0007 * 数据控制层 */ @RestController public class UserController { @Autowired private UserMapper userMapper; /** * 根据id获取用户信息 * localhost:8080/user/2 */ @GetMapping("/user/{id}") public User selectById(@PathVariable("id")Integer id){ User user = userMapper.selectById(id); return user; } /** * 查询所有用户信息 * localhost:8080/users */ @GetMapping("/users") public List<User> list(){ List<User> users = userMapper.list(); return users; } /** * 新增用户信息 * localhost:8080/user?name=Ray1 */ @PostMapping("/user") public String insert(User user){ int result = userMapper.insert(user); if(result == 1){ return "success"; } return "fail"; } /** * 修改用户信息 * localhost:8080/user/2?name=Ray22 */ @PutMapping("/user/{id}") public String update(User user, @PathVariable("id") Integer id){ int result = userMapper.update(user); if(result == 1){ return "success"; } return "fail"; } /** * 删除用户信息 * localhost:8080/user/8 */ @DeleteMapping("/user/{id}") public String delete(@PathVariable("id") Integer id){ int result = userMapper.delete(id); if(result == 1){ return "success"; } return "fail"; } /** * 根据id查询用户的所有电话信息(一对多) * localhost:8080/user/phone/1 */ @GetMapping("/user/phone/{id}") public User selectPhoneById(@PathVariable("id") Integer id){ User user = userMapper.selectPhoneById(id); return user; } /** * 根据id查询用户选择的运营商(多对多) * localhost:8080/user/combo/1 */ @GetMapping("/user/combo/{id}") public User selectComboById(@PathVariable("id") Integer id){ User user = userMapper.selectComboById(id); return user; } }根据id查询用户选择的运营商-GET
