DeptController.java
// 部门管理
@RestController
@Slf4j
public class DeptController {
//private static Logger log = LoggerFactory.getLogger(DeptController.class);
@Autowired
private DeptService deptService;
//@RequestMapping(value = "/depts",method = RequestMethod.GET) // 请求方式为GET
@GetMapping("/depts")
public Result list(){
log.info("查询全部部门数据:");
//调用service查询部门数据
List<Dept> deptList = deptService.list();
return Result.success(deptList);
}
}
DeptMapper.java
// 部门管理
@Mapper
public interface DeptMapper {
// 查询全部部门信息
@Select("select * from dept")
List<Dept> list();
}
表Dept的数据:
实体类Dept.java
// 部门实体类
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Dept {
private Integer id; //ID
private String name; //部门名称
private LocalDateTime createTime; //创建时间
private LocalDateTime updateTime; //修改时间
}
接口DeptService及其实现DeptServiceImpl
// 部门管理
@Service
public interface DeptService {
List<Dept> list();
}
package com.wangchen.service.impl;
import com.wangchen.mapper.DeptMapper;
import com.wangchen.pojo.Dept;
import com.wangchen.service.DeptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class DeptServiceImpl implements DeptService {
@Autowired
private DeptMapper deptMapper;
@Override
public List<Dept> list() {
return deptMapper.list();
}
}
测试结果:
为什么表Dept中明明有数据,为什么data的返回结果为null?
调试看一下,控制层接口有没有这个有数据返回吗?
有的话 说明你的result封装有问题。
看一下你的Result类
【以下回答由 GPT 生成】
根据提供的代码和问题描述,有以下几个可能导致数据返回为null的原因:
数据库连接配置错误:请确保你的数据库配置文件中的数据库连接信息正确,并且数据库中存在名为"dept"的表。
数据库查询语句错误:请确保DeptMapper接口中的SQL查询语句正确,并且数据库中的"dept"表包含需要的字段。
服务层未实现:请确保DeptService的实现类DeptServiceImpl中已经实现了list()方法,并且调用了DeptMapper的list()方法返回结果。
数据库中没有部门数据:如果数据库中没有部门数据,那么调用list()方法返回的结果就是空的。
下面是一种可能的解决方案:
以下是可能的解决方案代码示例:
DeptServiceImpl.java
@Service
public class DeptServiceImpl implements DeptService {
@Autowired
private DeptMapper deptMapper;
@Override
public List<Dept> list() {
return deptMapper.list();
}
}
如果以上步骤都没有解决问题,那么可能是其他地方的代码问题或者Postman的配置问题,请进一步检查并提供更多的错误信息和代码细节。如果还不能解决问题,请提供更详细的错误信息以便进一步排查。