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); }