SpringBoot2学习笔记

1.Springboot

spring.io

1.1注解传参

1.1.1路径变量:
@PathVariable("id") int id
1.1.2获取header:
@RequestHeader Map<String,String> header
1.1.3获取参数:
@RequestParam("age") int age,
@RequestParam("inters") List<String> inters,
@RequestParam Map<String,String> params
1.1.3获取请求体:
@PostMapping("/save")
    public  Map  postMethod(@RequestBody String content){
        Map<String,Object> map = new HashMap<>();
        map.put("content",content);
        return  map;
    }
package com.ender.boot.controller;

import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String handle1(){
        return  "hello,Spring boot 2!";
    }

    @GetMapping("/car/{id}/owner/{username}")
    public Map<String,Object> getCar(@PathVariable("id") int id,
                                     @PathVariable("username") String name,
                                     @PathVariable Map<String,String> pv,
                                     @RequestHeader("User-Agent") String userAgent,
                                     @RequestHeader Map<String,String> header,
                                     @RequestParam("age") int age,
                                     @RequestParam("inters") List<String> inters,
                                     @RequestParam Map<String,String> params){
        Map<String,Object> map = new HashMap<>();
        map.put("id",id);
        map.put("name",name);
        map.put("pv",pv);
        map.put("User-Agent",userAgent);
        map.put("header",header);
        map.put("age",age);
        map.put("inters",inters);
        map.put("params",params);
        return map;
    }

    @PostMapping("/save")
    public  Map  postMethod(@RequestBody String content){
        Map<String,Object> map = new HashMap<>();
        map.put("content",content);
        return  map;
    }

}

2.maven

https://maven.apache.org/download.cgi

3.依赖库查询

https://mvnrepository.com/

4.Druid数据库连接池

https://github.com/alibaba/druid

5.DAO-mybatis

https://github.com/mybatis

6.DAO-mybatis-plus

https://baomidou.com/ 官网
https://www.cnblogs.com/l-y-h/p/12859477.html 操作教程

6.1 pom添加依赖(添加此注解可以替代mybatis和Springjdbc依赖)

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.2</version>
        </dependency>

6.2 @SpringBootApplication中添加mapper扫描,避免每个mapper都要添加@mapper注解

@MapperScan("com.ender.boot.mapper")

6.3 Bean

@AllArgsConstructor
@NoArgsConstructor
@Data
public class UserTb {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

6.4 Mapper

BaseMapper基类,含有各种curd操作

public interface UserTbMapper extends BaseMapper<UserTb> {
}

6.5 Controller

    @ResponseBody
    @PostMapping("/Users")
    public List userTbController(@RequestParam("key") String key
                                   ) throws JsonProcessingException {
        // Step1:创建一个 QueryWrapper 对象
        QueryWrapper<UserTb> queryWrapper = new QueryWrapper<>();

        // Step2: 构造查询条件
        queryWrapper
                .select("id", "name", "age","email")
                .like("age", key)
                .or()
                .like("name", key);

        // Step3:执行查询
        List<UserTb> list = userTbService.list(queryWrapper);
        //String usersJson = new ObjectMapper().writeValueAsstring(list);
        return list;
    }

6.6 Service(接口)

IService 中有各种查询方法

public interface UserTbService extends IService<UserTb> {
}

6.7 implement(实现类)

实现UserTbService接口,ServiceImpl中有全部实现

@Service
public class UserTbServiceImpl extends ServiceImpl<UserTbMapper, UserTb> implements UserTbService {
}

7.lombok(先在idea中安装lombok插件并重启)

https://www.projectlombok.org/

7.1 pom依赖

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.24</version>
            <scope>provided</scope>
        </dependency>

7.2 简化bean

@AllArgsConstructor 生成一个无参数的构造方法
@NoArgsConstructor 会生成一个包含所有变量的构造方法生成方法是 public 的
@Data
使用前两个注解,这样就不需要自己写构造方法

8.Test

8.1 pom依赖

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.36</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <version>2.5.0</version>
        </dependency>

8.2测试代码

@Slf4j
@SpringBoottest
public class Mytest {
    @Autowired
    UserTbService userTbService;

    @Test
    void Testsql() throws JsonProcessingException {
        List<UserTb> list =userTbService.list();
        String usersJson = new ObjectMapper().writeValueAsstring(list);
        log.info("jason数值为:{}",usersJson);
    }

}

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...
win11本地账户怎么改名?win11很多操作都变了样,用户如果想要...