Controller的使用
@Controller 处理Http请求
@RestController spring4后新加的注解,原来返回json需要@ResponseBody配合@Controller
@RequestMapping 配置URL映射
@RestController 相当于@Controller与@ResponseBody相结合
请求参数的处理
1. @PathVariable 获取url中的数据
@RequestMapping(value = “/say/{id}”, method = RequestMethod.GET)
public String say(@PathVariable(“id”) Integer id)
1
2
2.@RequestParam 获取请求参数的值
@RequestMapping(value = “/say”, method = RequestMethod.GET)
public String say(@RequestParam(“id”) Integer id)
1
2
3.@GetMapping 组合注解 代替了RequestMapping
数据库的使用
oracle数据库:首先导入class12.jar包 file–>project structure–>点击右侧绿色的+–>选择1.JARS or directories–>找到本地的class12.jar包导入即可
在application.yml配置文件中编写
datasource:
driver-class-name: oracle.jdbc.OracleDriver
url: jdbc:oracle:thin:@localhost:1521:XE
username: test
password: 123
jpa:
hibernate:
ddl-auto: create //创建表,如果表存在 覆盖掉 一般使用update
show-sql: true
3.用jpa对数据的增删改查
@RestController
public class GirlController {
@Autowired
private GirlRepository girlRepository;
@GetMapping(value = "/girls")
/**
* 查询所有数据
*/
public List<Girl> getGirls(){
return girlRepository.findAll();
}
/**
* 添加数据
* @param cupSize
* @param age
* @return
*/
@PostMapping(value = "/girls")
public Girl girlAdd(@RequestParam("cupSize") String cupSize, @RequestParam("age") Integer age ){
Girl girl = new Girl();
girl.setCupSize(cupSize);
girl.setAge(age);
return girlRepository.save(girl);
}
/**
* 根据id查找
* @param id
* @return
*/
@GetMapping(value = "/girls/{id}")
public Girl girlFindOne(@PathVariable("id") Integer id){
return girlRepository.findOne(id);
}
/**
* 更新
* @param id
* @param cupSize
* @param age
* @return
*/
@PutMapping(value = "/girls/{id}")
public Girl girlUpdate(@PathVariable("id") Integer id,
@RequestParam("cupSize") String cupSize, @RequestParam("age") Integer age ){
Girl girl = new Girl();
girl.setId(id);
girl.setCupSize(cupSize);
girl.setAge(age);
return girlRepository.save(girl);
}
/**
* 删除
* @param id
*/
@DeleteMapping(value = "/girls/{id}")
public void girlDelete(@PathVariable("id") Integer id){
girlRepository.delete(id);
}
/**
* 通过年龄查询
* @param age
* @return
*/
@GetMapping(value = "/girls/age/{age}")
public List<Girl> girlListByAge(@PathVariable("age") Integer age){
return girlRepository.findByAge(age);
}
}