spring boot 설정후 db에 연결이 잘 되는지 테스트 해보기로 했다.
1. 객체 만들기
게시판 글을 저장 하기 위한 객체 생성
package com.cafe.board.model;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class Articles {
@Id @GeneratedValue(strategy = GenerationType.AUTO)
private Long articleId;
private String id;
private String nickname;
private String title;
private String content;
private Date regDate;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Date getRegDate() {
return regDate;
}
public void setRegDate(Date regDate) {
this.regDate = regDate;
}
public Long getArticleId() {
return articleId;
}
}
글을 저장하기 위한 객체를 생성했다.
게시글 번호를 id로 주고 , GenerationType.AUTO를 주어 자동 증가 하도록 설정~!
2. data.sql 설정
자동으로 기본 데이터를 넣어 주기 위해 data.sql 파일을 만들어 insert문을 작성해줌.
INSERT INTO ARTICLES(content, nickname,id,reg_date,title) VALUES('안녕안냥','namaan','나만',CURRENT_TIMESTAMP(),'첫글!!');
3. config 설정하기
h2 디비를 웹브라우저에서 확인 하기 위해 config 설정.
@Configuration
public class H2DBConfig {
@Bean
public ServletRegistrationBean h2servletRegistration() {
ServletRegistrationBean registration = new ServletRegistrationBean(new WebServlet());
registration.addUrlMappings("/console/*");
return registration;
}
}
이렇게 설정하면 웹 화면에서도 DB 확인을 할 수 있다 !
서버 재시작 후
브라우저 창에 http://localhost:8080/console/ 입력하면 아래와 같이 접속 화면이 나온다.
접속후
생성한 객체명과 변수들로 테이블이 잘 생성 되었고,
기본 생성을 위한 sql문으로 데이터까지 잘 생성된걸 확인 할 수 있다~!!!!
4, repository 만들기!
DB 연동을 담당하는 repository를 만들어 보았다.
package com.cafe.board.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import com.cafe.board.model.Articles;
public interface ArticlesRepository extends JpaRepository<Articles, Long> {
}
jpa를 사용할 예정이라 JpaRepository를 상속받았다.
5. Service 만들기
@Service
@Transactional
public interface ArticleService {
public List<Articles> findArticles();
}
@Service
public class ArticleServiceImpl implements ArticleService{
@Autowired
private ArticlesRepository articleRepository;
@Override
public List<Articles> findArticles(){
return articleRepository.findAll();
}
}
6. controller 만들기
@RestController
@RequestMapping("/article")
public class ArticleController {
@Autowired
private ArticleService articleService;
@RequestMapping("/list")
public List<Articles> list(Model model) {
List<Articles> articleList = articleService.findArticles();
return articleList;
}
}
7. http://localhost:8080/article/list 실행
테이블에 저장된 데이터가 잘 나옴!
끝!!