2018-5-13 반복주기 db연
세번째 반복주기
전원이 꺼지면 데이터가 날라가기때문에, 데이터베이스를 사용을 해야한다.
- h2데이터베이스는 자바로 구현이 되어있어서, 별도의 설치가 필요없다.
- h2 라이브러리를 디펜던시에 추가를 하면된다.
- www.mvnrepository.com에서 디펜던시를 찾으면된다.
-
localhost:8080/h2-console을 입력을 하면 h2콘솔에 로그인을 할 수 있게 된다.
- h2콘솔에 로그인을 하게 되면 위와같은 창이 나온다. JDBC URL에 jdbc:h2~/projectName을 입력을 하면 연결이 된다.
- jpa를 사용을 하면 테이블이 자동으로 생성이 된다.
import javax.persistence.Entity;
@Entity
public class User {
@Id
private String userId;
private String password;
private String name;
private String email;
public String getUserId() {
return userId;
}
public String getPassword() {
return password;
}
public String getName() {
return name;
}
public String getEmail() {
return email;
}
....
}
- user클래스를 데이터베이스와 매핑을 하기위해서 user클래스에 Entity라는 어노테이션을 설정을 했다.
- 데이터베이스는 고유한 id값을 위해서 primary key가 필요한데, 이것을 위한 어노테이션이 @Id이다. 이것은 데이터베이스의 primary key가 userId라는 것을 표현한다.
@Id
@GeneratedValue
private long id;
- 위와같이 @Id어노테이션과 @GeneratedValue어노테이션을 사용을 하면 loing타입의 id값이 primary key가 되고 자동으로 증가를 하게 된다.
@Entity
public class User {
@Id
@GeneratedValue
private Long id;
@Column(nullable = false, length=20)
private String userId;
private String password;
private String name;
private String email;
- @Column(nullable = false, length=20)은 db에서 not null과 길이가 최대 20으로 설정을 한다는 어노테이션이다.
맺으며
- 레벨2에서는 자바 객체에 대한 설계가 무진장 어려웠었다. 웹을 들어오고 나서는 거기서 왜 인터페이스 상속 적용을 했는지 살짝 알거 같고. 클래스 특히 User클래스를 설계를 해서 이것을 어떻게 db설계에 적용을 할 것인가를 고민하게 된다. 웹은 우선 재미있게 잘 하고 있어서 감사합니다.
Written on May 13, 2018