SpringBoot开发日记(三)——实现数据库的增删改查


@RestController
public class UserController {

    @Autowired
    private UserRepository userRepo;


    //查询全部信息
    @GetMapping(value = "/user")
    public List 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 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 {
    List 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

 

 

你可能感兴趣的:(SpringBoot)