- 查询操作:
controllor层:
java@RestController public class DeptController { @Autowired private DeptService deptService; @GetMapping("/depts") public Result list(){ List<Dept> deptList= deptService.findAll(); return Result.success(deptList); } }
Service层:
java
@Service
public class DeptServiceimpl implements DeptService {
@Autowired
private DeptMapper deptMapper;
@Override
public List<Dept> findAll() {
return deptMapper.findAll();
}
}
Mapper层:
java
@Mapper
public interface DeptMapper {
@Select("select id, name, create_time, update_time from dept order by update_time")
List<Dept> findAll();
}
由于select中的create_time和update_time与实体类中的dept不同,所以查询出来的结果为空,如下图所示:

方法:



这三种方法都可以,建议使用开启驼峰命名
前后端联调:
Nginx的反向代理



2.根据id删除数据
方法一:要在url中带id,否则接口报错

方法二:
当注释了@RequestPara注解,该参数必须传递,接口后必须为/depts?id=?不然删除不成功,接口返回失败,可以设置required为false来关闭这个

方法三:省略@RequsetParam
url带不带id,接口都可以获取成功
新增部门:
@ResponseBody是将对象转为json格式传到客户端
用@RequestBody将json格式数据封装入Dept中,与上面区分开来

controller:
java
@PostMapping ("/depts")
public Result add(@RequestBody Dept dept){
System.out.println("新增部门"+dept);
deptService.add(dept);
return Result.success();
}
Service:
java
@Override
public void add(Dept dept) {
//1.完善创建事件
dept.setCreateTime(LocalDateTime.now());
dept.setUpdateTime(LocalDateTime.now());
deptMapper.insert(dept);
}
Mapper层:
java
@Insert("insert into dept(name, create_time, update_time) values(#{name}, #{createTime}, #{updateTime})")
void insert(Dept dept);

3.修改数据
分两部:1.查询回显 2.修改数据
查询回显需要用到路径参数:用到PathVariable,如果参数值名称和路径参数id相同则可以省略其中的("id")
回显部分:

controller:
java
@GetMapping("/depts/{id}")
public Result getInfo(@PathVariable Integer id){
System.out.println("根据id查询部门:" +id);
Dept dept = deptService.getById(id);
return Result.success(dept);
}
Service:
java
@Override
public Dept getById(Integer id) {
Dept dept = deptMapper.getById(id);
return dept;
}
Mapper:
java
@Select("select id,name,dept.create_time,dept.update_time from dept where id = #{id}")
Dept getById(Integer id);

2.数据修改:
controller:
java
@PutMapping("/depts")
public Result update(@RequestBody Dept dept){
System.out.println("修改的部门" + dept);
deptService.update(dept);
return Result.success();
}
Service:
java
@Override
public void update(Dept dept) {
dept.setUpdateTime(LocalDateTime.now());
deptMapper.update(dept);
}
Mapper:
java
@Update("update dept set name = #{name},update_time = #{updateTime} where id = #{id}")
void update(Dept dept);
总结:
公共的路径都是/depts上可以抽取到类上

