spring boot笔记-01

  • model(最底层)
    直接连接数据库,可以直接在代码中对数据库进行建表、字段等
@Entity
//代替get,set方法,写了@Data之后就不用get,set
@Data
public class User {
    @Id//主键
    @GeneratedValue(strategy= GenerationType.AUTO)//id自增
    public Integer id;

    public String username;

    public String password;

    public String openid;

}
  • repository(model的上一层)
    在上面的层中调用关于数据库的方法都需要在这里提前进行定义,如这里要按照openID进行查找则需要在这里先定义一个findByOpenid
//User为表名
public interface UserRepo extends JpaRepository<User,Integer> {

   User findByOpenid(String opid);
}
  • service层(倒数第二层)
    主要用于当某种方法要实现很多次时,进行一种包装?反正就是,把相同的代码集合到一起,便于调用查看等。(目前还未接触)
  • controller(最上层)
    用于各个方法的实现?比如网页返回了数值,直接在这个地方进行调用其它层的方法等进行增删改查,然后再返回给网页数据。
@RestController
public class TestController {
    @Autowired
    private UserRepo userRepo;

    /**
     * 1.接收到前端传递回的openid ,
     * 2.根据openid查询数据库表,看该id是否登录
     * 3.如已登录,则返回已登录状态
     * 4.如未登录,且该openid查不到,创建一行该openid的记录,并通知前端,该openid用户
     * 为第一次登录,需要进行用户注册,(填报个人信息之后,需要信息产业中心对后端权限进行相应的设置)
     * 5.如已登录,则返回已登录信息
     * @param userDto
     * @return simpleresponse code 0对应3 1对4 2对应5 body msg 已登录 未登录  新用户
     */
    @PostMapping("/smapplogin")///这里是网页的地址,post是指从前端返回数据,get是指从服务器把东西给前端*********
    public SimpleResponse testSmAppLogin(@RequestBody UserDto userDto){ ///***
        System.out.println("&&&&&&&&&&&&&&&&&="+userDto.openid);//调取前端post来的数据

        userDto.openid = "123456";


        /**
         * 操作数据库 c
         */
        User user = new User();
        user.username="123";
        user.password="456";

        userRepo.save(user);
//        User theOne = userRepo.findByOpenid("fdsafds");
//        theOne.status;
//        if(status == ""){
//            return
//        }else{
//            return
//        }
        //创建返回的数据,回复给前端
         SimpleResponse simpleResponse = new SimpleResponse();//SimpleResponse是指返回给前端的字段的定义(在dto中定义了)
         simpleResponse.body=userRepo.findAll();///******
         simpleResponse.code="200";
         simpleResponse.msg="请求成功";

        return simpleResponse;
    }
    @GetMapping("/hello/{id}")
    public String test(@RequestParam("id") String id){
//        id
        return "return";
    }
}
  • dto(定义给前端的数据的字段)
    如UserDto把前端返回的字段进行定义
@Data
public class UserDto {
    public String openid;
    public String msg;
}

SimpleResponse是指是指返回给前端的字段的定义,比如传送给前端三个字段

@Data
public class SimpleResponse {
    public String code;
    public Object body;//什么东西都可以往里面装
    public String msg;

}

发布了8 篇原创文章 · 获赞 0 · 访问量 138

猜你喜欢

转载自blog.csdn.net/leelelea/article/details/104249167