POST/user - user 등록하는 기능
DELETE /user/{id} - 1명 유저 지우는 기능
DELETE /user/all - 전체 유저 지우는 기능
GET ALL
GET /user/{id}
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
<version>2.7.5</version>
</dependency>
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/likelion-db
username: root
password: 1q2w3e4r
@Component
public class UserDao {
private final JdbcTemplate jdbcTemplate;
//SpringBoot가 Factory를 구성해서 DI를 해준다.
public UserDao(JdbcTemplate jdbcTemplate){
this.jdbcTemplate = jdbcTemplate;
}
public void add(User user){
this.jdbcTemplate.update("insert into users(id,name,password) " +
"values(?,?,?)",user.getId(),user.getName(),user.getPassword());
}
public void delete(String id){
this.jdbcTemplate.update("delete from users where id = ?",id);
}
public void deleteAll(){
this.jdbcTemplate.update("delete from users");
}
}
@RestController
@RequestMapping("/api/v1/user")
public class UserController {
UserDao userDao;
public UserController(UserDao userDao) {
this.userDao = userDao;
}
@PostMapping("/user")
public String add(@RequestBody User user) {
userDao.add(user);
return "add성공 : " + user.getId();
}
@DeleteMapping(value = "/user/{id}")
public String delete(@PathVariable String id) {
userDao.delete(id);
return "delete성공";
}
@DeleteMapping(value = "/user/all")
public String deleteAll(){
userDao.deleteAll();
return "deleteAll 성공";
}
}