【SpringBoot】使用@ResponseBody注解解析数据库数据返回Json格式数据

【SpringBoot】使用@ResponseBody注解解析数据库数据返回Json

1、任务要求:

上周老师布置了个作业,扫描数据库的所有数据,返回Json格式数据,我做了两个页面,一个是显示所有用户数据,一个通过传入参数,显示一个用户的数据,效果如下:

  • 这是我数据库的数据:
    在这里插入图片描述

  • 用Json格式返回所有数据:
    在这里插入图片描述

  • 通过搜索ID,返回一个人的数据:
    在这里插入图片描述

2、功能实现

  • 想要返回Json格式数据,SpringBoot要用到一个注解:@ResponseBody
  1. 创建Model,数据库的映射类
public class User {
    private Long id;
    private String username;
    private String password;
    private String token;

    补Getting/Setting
}
  1. 创建DTO(数据传输对象)
  • Result,设置泛型为T,放进去什么类型就是什么类型
  • msg:成功提示
  • success:提示true
  • code :200,表示成功
//通用类,用来存基础数据
public class Result<T> {

    private String msg;
    private boolean success;
    private String code;
    private T detail;
	
	补Getting/Setting
}

3、 DAO层,数据库语句映射

  • 查询所有数据
  • 通过id查询指定数据
	//遍历数据库所有数据,用List<User>承接
    @Select("select * from user")
    List<User> showAllData();
    //通过ID,检索所有数据
    @Select("select * from user where id = #{id}")
    List<User> id_to_findByALlData(Long id);
  1. Service层,一个用来获取所有用户数据,一个用来获取一个用户数据
  • 获取所有用户数据
@Service
public class UserAllJson {

    @Autowired
    private UserMapper userMapper;

    public Result<List<User>> getAllJson(){
        //用getData对象获取数据库所有用户数据
        List<User> getData = userMapper.showAllData();
        //新建一个result对象,把getData放进去
        Result<List<User>> result = new Result();
        result.setSuccess(true);
        result.setMsg("获取成功");
        result.setCode("200");
        result.setDetail(getData);
        return result;
    }
}
  • 获取一个用户数据,id作为参数传入,用于数据库查询
@Service
public class UserOneJson {

    @Autowired
    private UserMapper userMapper;

    public Result<List<User>> showOneJson(Long id){
        List<User> getOneJson = userMapper.id_to_findByALlData(id);
        Result result = new Result();
        result.setCode("200");
        result.setMsg("成功");
        result.setSuccess(true);
        result.setDetail(getOneJson);
        return result;
    }
}
  1. Controller层,一个用来获取所有用户数据,一个用来获取一个用户数据
  • 显示所有数据
//    用Json格式显示所有用户数据
    @ResponseBody
    @GetMapping("/showAllJson")
    public Result<List<User>> toShowAllJson(){
        Result<List<User>> result = userAllJson.getAllJson();
        return result;
    }
  • 显示一个用户数据
//    用Json格式显示一个用户数据
    @ResponseBody
    @GetMapping("/showOneJson")
    public Result<List<User>> toShowJson(@Param("id") Long id){
        Result<List<User>> result = userOneJson.showOneJson(id);
        return result;
    }

3、完工

发布了28 篇原创文章 · 获赞 4 · 访问量 1325

猜你喜欢

转载自blog.csdn.net/weixin_44100826/article/details/103271464