[Spring]게시판(JDBC)

dong's memory·2023년 12월 27일

Spring

목록 보기
5/11

Mybatis로 진행

폴더 구조와 기능

  • config - responseTemplate(exception들이 enum형태로 표현되어 있다.) 또는 JWT 를 처리해주는 공간으로 활용한다.
  • controller - Post/Get 경로 등이 표기되어 있으며, Request를 처리하고 Response 해주는 곳. Service에 함수를 넘겨주고 결과를 받아온다.
  • service - 비즈니스 로직을 직접적으로 처리하는 곳으로, 코드가 일일히 짜여 있다.
  • dto 계층 간 데이터 교환을 하기 위해 사용하는 객체로, DTO는 로직을 가지지 않는 순수한 데이터 객체(getter & setter 만 가진 클래스)입니다
    유저가 입력한 데이터를 DB에 넣는 과정
    유저가 자신의 브라우저에서 데이터를 입력하여 form에 있는 데이터를 DTO에 넣어서 전송합니다.
    해당 DTO를 받은 서버가 DAO를 이용하여 데이터베이스로 데이터를 집어넣습니다.
  • mapper(dao) - 객체의 상태를 관리하는 저장소이다. 즉, Entity을 저장하고 불러오는 역할을 한다.
    데이터베이스에 연결하여 입력/수정/삭제/조회 등 작업 수행.

spring JdbcTemplate사용

JdbcTemplate은 데이터소스(DataSource)가 필요하다.

JdbcPostRepository의 생성자에서 dataSource를 주입받고, 생성자 내부에서 JdbcTemplate을 생성하는 방법을 이용한다.

JdbcTemplate을 스프링 빈으로 직접 등록하고 주입받아도 되지만, 관례상 이 방법을 많이 사용한다고 한다.

css

.bbs_detail {width:100%; border-top:2px solid #252525; border-bottom:1px solid #ccc; border-collapse:collapse;}
.bbs_detail tbody input {width:100%;}
.bbs_detail tbody th {text-align:left; background:#f7f7f7; color:#3b3a3a; vertical-align:middle; text-align: center;}
.bbs_detail tbody th, .bbs_detail tbody td {padding:10px 15px; border-bottom:1px solid #ccc;}
.bbs_detail tbody textarea {width:100%; min-height:170px}

.bbs_detail: 이 클래스는 표나 게시판의 세부 사항을 스타일링하는 데 사용

width: 100%;: 너비는 부모 요소의 100%
border-top: 2px solid #252525;: 상단에 2픽셀의 굵기와 #252525 색상의 실선 테두리가 있음.
border-bottom: 1px solid #ccc;: 하단에 1픽셀의 굵기와 #ccc 색상의 실선 테두리가 있음.
border-collapse: collapse;: 테이블 경계를 합침.
.bbs_detail tbody input: 테이블의 tbody 내부에 있는 입력(input) 요소를 스타일링합니다.

width: 100%;: 너비는 부모 요소의 100%입니다.
.bbs_detail tbody th: 테이블의 tbody 내부에 있는 헤더(th) 셀을 스타일링합니다.

text-align: left;: 텍스트는 왼쪽 정렬됩니다.
background: #f7f7f7;: 배경색은 #f7f7f7입니다.
color: #3b3a3a;: 텍스트 색상은 #3b3a3a입니다.
vertical-align: middle;: 수직 정렬은 중앙에 위치합니다.
text-align: center;: 텍스트는 중앙 정렬됩니다.
.bbs_detail tbody th, .bbs_detail tbody td: 테이블의 tbody 내부에 있는 헤더(th) 셀과 데이터(td) 셀을 스타일링합니다.

padding: 10px 15px;: 상하 및 좌우 패딩은 각각 10픽셀과 15픽셀입니다.
border-bottom: 1px solid #ccc;: 하단에 1픽셀의 굵기와 #ccc 색상의 실선 테두리가 있습니다.
.bbs_detail tbody textarea: 테이블의 tbody 내부에 있는 텍스트 영역(textarea)을 스타일링합니다.

width: 100%;: 너비는 부모 요소의 100%입니다.
min-height: 170px;: 최소 높이는 170픽셀입니다.

<출처>https://youngseo-computerblog.tistory.com/49 <기초>
<출처>https://innovation123.tistory.com/69<예제>

0개의 댓글