LikeLion_1028

현보·2022년 10월 28일

SpringBoot와 jdbcTemplate 사용

POST/user - user 등록하는 기능
DELETE /user/{id} - 1명 유저 지우는 기능
DELETE /user/all - 전체 유저 지우는 기능
GET ALL
GET /user/{id}

DB 연결 하기

  • pom.xml - Dependency 추가
		<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>
  • application.yml에 아래 코드 입력
spring:
 datasource:
   driver-class-name: com.mysql.cj.jdbc.Driver
   url: jdbc:mysql://localhost:3306/likelion-db
   username: root
   password: 1q2w3e4r

UserDao 생성

@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");
    }
}

UserController 생성

@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 성공";
    }

}

0개의 댓글