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(接口)
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);
}
}