SpringBoot開發日記(三)——實現數據庫的增刪改查


@RestController
public class UserController {

    @Autowired
    private UserRepository userRepo;


    //查詢全部信息
    @GetMapping(value = "/user")
    public List<User> userList(){
        return userRepo.findAll();
    }

    //查詢單個信息
    @GetMapping(value = "/user/{id}")
    public User findById(@PathVariable("id") Integer id){
        return userRepo.findById(id).orElse(null);
    }

    //根據非Id字段查詢
    @GetMapping(value = "/show/{age}")
    public List<User> UserListByAge(@PathVariable("age") Integer age){
        return userRepo.findByAge(age);
    }


    //使用實體類進行查詢
    @PostMapping(value = "entity")
    public User entity(User user){
        return  userRepo.findUser(user.getId());
    }

    //添加用戶信息
    @PostMapping(value = "addUser")
    public User add(@RequestParam("name") String name,@RequestParam("age") Integer age){
        User user=new User();
        user.setName(name);
        user.setAge(age);
        return userRepo.save(user);
    }

    //更新用戶信息
    @PostMapping(value = "updateUser/{id}")
    public User update(@PathVariable("id") Integer id,@RequestParam("age") Integer age,@RequestParam("name") String name){
        User user=new User();
        user.setId(id);
        user.setName(name);
        user.setAge(age);
        return userRepo.save(user);
    }


    //刪除用戶信息
    @DeleteMapping(value = "/del/{id}")
    public void delete(@PathVariable("id") Integer id){
        userRepo.deleteById(id);
    }

}

 


public interface UserRepository extends JpaRepository<User,Integer> {
    List<User> findByAge(Integer age);//格式有規定,findBy+屬性名

    @Query(value = "from User where id=?1")
    User findUser(Integer id);
}

 

POST請求的兩種編碼格式:application/x-www-urlencoded是瀏覽器默認的編碼格式,用於鍵值對參數,參數之間用&間隔;multipart/form-data常用於文件等二進制,也可用於鍵值對參數,最後連接成一串字符傳輸(參考Java OK HTTP)。除了這兩個編碼格式,還有application/json也經常使用。

參考:https://www.jianshu.com/p/53b5bd0f1d44

multipart/form-data將表單中的每個input轉爲了一個由boundary分割的小格式,沒有轉碼,直接將utf8字節拼接到請求體中,在本地有多少字節實際就發送多少字節,極大提高了效率,適合傳輸長字節

參考:https://blog.csdn.net/u013827143/article/details/86222486

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章