MP Service学习_用户接口


MP Service学习_用户接口_02

基本用法

1.自定义Service接口继承IService接口

public interface UserService extends IService<User> {
}

2.自定义Service实现类,实现自定义接口并继承ServiceImpl类

@Service("UserService")
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}

基于Restful风格实现下列接口

增 post

删 delete

改 put

查 get

MP Service学习_User_03

package com.wml.learn.controller;

import com.wml.learn.domain.po.User;
import com.wml.learn.service.UserService;
import com.wml.learn.utils.AjaxResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/api/user")
@Api(tags = "用户控制类", value = "用户控制类")
@RequiredArgsConstructor
public class UserController {
    @Autowired
    private UserService userService;
//    private final UserService userService;

    @ApiOperation(value = "查询所有用户")
    @GetMapping("list")
    public AjaxResult list() {
        List<User> list = userService.list();
        return AjaxResult.success(list);
    }

    @ApiOperation("新增用户接口")
    @PostMapping("save")
    public void saveUser(@RequestBody User user){
        // 1.把DTO拷贝到PO
//        User user = BeanUtils.copyProperties(userDTO, user.class);
        // 2.新增
        userService.save(user);
    }

    @ApiOperation("删除用户接口")
    @DeleteMapping("{id}")
    public void deleteUserById(@ApiParam("用户id") @PathVariable("id") Long id){
        userService.removeById(id);
    }

    @ApiOperation("根据id查询用户接口")
    @GetMapping("{id}")
    public AjaxResult queryUserById(@ApiParam("用户id") @PathVariable("id") Long id){
        // 1.查询用户PO
        User user = userService.getById(id);
        // 2.把PO拷贝到VO
//        return BeanUtils.copyProperties(user, UserVo.class);
        return AjaxResult.success(user);
    }

    @ApiOperation("根据id批量查询用户接口")
    @GetMapping
    public AjaxResult queryUserByIds(@ApiParam("用户id集合") @RequestParam("ids") List<Long> ids){
        // 1.查询用户PO
        List<User> users = userService.listByIds(ids);
        // 2.把PO拷贝到VO
//        return BeanUtil.copyToList(users, UserVo.class);
        return AjaxResult.success(users);
    }

    @ApiOperation("更新用户接口")
    @PutMapping("{id}")
    public void updateUserById(@ApiParam("用户id") @PathVariable("id") Long id, @ApiParam("money") @PathVariable("money") Integer money){
        userService.updateUserById(id, money);
    }

}