Controller方法
package com.yunjiani.controller;
import com.yunjiani.pojo.Dept;
import com.yunjiani.pojo.Result;
import com.yunjiani.service.DeptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
public class DeptController {
@Autowired
private DeptService deptService;
/**
* 部门列表
*/
@GetMapping("/depts")
public Result list(){
List<Dept> list = deptService.findAll();
return Result.success(list);
}
/**
* 删除部门
*/
@DeleteMapping("/depts")
public Result delete(Integer id){
if(id == null){
return Result.error("id不能为空");
}
System.out.println("id:" + id);
deptService.delete(id);
return Result.success();
}
/**
* 新增部门
*/
@PostMapping("/depts")
public Result add(String name){
if(name == null || "".equals(name)){
return Result.error("部门名称不能为空");
}
deptService.add(name);
return Result.success();
}
/**
* 修改部门
*/
@PutMapping("/depts")
public Result update(@RequestBody Dept dept){
if(dept.getId() == null || "".equals(dept.getId())){
return Result.error("id不能为空");
}
if(dept.getName() == null || "".equals(dept.getName())){
return Result.error("部门名称不能为空");
}
System.out.println(dept);
deptService.update(dept);
return Result.success();
}
/**
* 部门详情
*/
@GetMapping("/depts/{id}")
public Result getInfo(@PathVariable Integer id){
if(id == null || "".equals(id)){
return Result.error("id不能为空");
}
Dept dept = deptService.findById(id);
return Result.success(dept);
}
}Service接口
package com.yunjiani.service;
import com.yunjiani.pojo.Dept;
import java.util.List;
public interface DeptService {
/**
* 部门列表
*/
List<Dept> findAll();
/**
* 删除部门
*/
Integer delete(Integer id);
/**
* 新增部门
*/
Integer add(String name);
/**
* 更新部门
*/
void update(Dept dept);
/**
* 根据id查询部门
*/
Dept findById(Integer id);
}ServiceImpl实现
package com.yunjiani.service.impl;
import com.yunjiani.mapper.DeptMapper;
import com.yunjiani.pojo.Dept;
import com.yunjiani.service.DeptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
@Service
public class DeptServiceImpl implements DeptService {
@Autowired
private DeptMapper deptMapper;
@Override
public List<Dept> findAll() {
return deptMapper.findAll();
}
@Override
public Integer delete(Integer id) {
return deptMapper.delete(id);
}
@Override
public Integer add(String name) {
LocalDateTime now = LocalDateTime.now();
return deptMapper.add(name,now,now);
}
@Override
public void update(Dept dept) {
LocalDateTime now = LocalDateTime.now();
dept.setUpdateTime(now);
deptMapper.update(dept);
}
@Override
public Dept findById(Integer id) {
return deptMapper.findById(id);
}
}Mapper数据
package com.yunjiani.mapper;
import com.yunjiani.pojo.Dept;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.time.LocalDateTime;
import java.util.List;
@Mapper
public interface DeptMapper {
@Select("select id, name, create_time, update_time from dept order by update_time desc")
List<Dept> findAll();
@Delete("delete from dept where id = #{id}")
Integer delete(Integer id);
@Update("insert into dept (name, create_time, update_time) values (#{name},#{createTime},#{updateTime})")
Integer add(String name, LocalDateTime createTime, LocalDateTime updateTime);
@Update("update dept set name = #{name}, update_time = #{updateTime} where id = #{id}")
void update(Dept dept);
@Select("select id, name, create_time, update_time from dept where id = #{id}")
Dept findById(Integer id);
}