2018-5-26 세번째반복주기-(2) H2-Connection

h2 url설정

spring.datasource.url=jdbc:h2:~/qna-practice;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
  • application properties에 위의 코드를 입력을 한다. 여기서 가장 중요한것은 url성정이 가장 중요하다. 그러면 h2에 USER테이블이 생성이 된다.
  • 내가 저장할 DB를 어노테이션을 통해서 설계를 할 수 있다.
// UserRepository
import org.springframework.data.jpa.repository.JpaRepository;

public interface UserRepository extends JpaRepository<User, Long> {
}

// UserController
@Controller
public class UserController {
    List<User> users = new ArrayList<>();

    @Autowired
    private UserRepository userRepository;

    @PostMapping("/create")
    public String create(User usr) {
        System.out.println("User : " + usr);
        users.add(usr);
        userRepository.save(usr);
        return "redirect:/users";
    }

  • h2의 기본형태는 메모리db라서 서버가 재시작이 되면 데이터가 날라가는 특성이 있다.

  • 위의 인터페이스를 통해서 User에 대한 dao를 만들 수 있다. JpaRepository<User, Long>여기서 User는 테이블에 대한, 그리고 Long은 primaryKey의 타입을 지정한 것이다.

번외

The Tomcat connector configured to listen on port 8080 failed to start. The port may already be in use or the connector may be misconfigured.
  • 위와 같은 에러가 발생을 해서 로딩이 잘안됬었다. 이 문제는 이미 서버가 동작하는 8080포트에 다른 프로그램을 실행하려고했기때문이다.
  • 이럴경우에는 실행되고 있는 Tomcat을 찾아서 kill해야한다.
sudo lsof -i :8080
kill -9 PID
  • 위 명령어를 통해서 8080포트에서 동작을 하고 있는 PID값을 찾아서 kill명령어를 해야한다.
Written on May 26, 2018