D+27::자바디비연결 게시판만들기/DAOMethod_만드는_공식

Am.Vinch·2022년 8월 9일
0

20220802_Tue

  • DAO Method 만드는 공식

데이터베이스 작업(연결)하는 DAO!!
쿼리가 가장중요하다
그럼 어떤쿼리를 만들것인가?
주로 사용 쿼리 는 4가지가 있다.
select
insert
update
delete


  • select
    -리턴값 void 사용 x (안좋음)
    -메소드 리턴타입 List< BoardDTO > / BoardDTO
    -왜?
    -조회하면 쿼리가 여러개 뜨는 경우가 많다.조회하면 데이터가 한줄일때(where에서 PK있으면)/여러줄일때/아무것도 없을 때 이다.

    -List< BoardDTO >:조회결과 여러행이 나올 경우,BoardDTO가 여러행 있는 경우와 같기때문에 배열리스트에 담는다.
    -BoardDTO: 조회결과 데이터가 0~1행인 경우,문자열과 숫자 모두를 담을 수 있는 자료형은 없기때문에 사용자임의지정 자료형(BoardDTO)를 사용한다.

  • insert update delete
    -메소드 리턴 타입 > 무조건(대부분) int
    -왜?
    -디비에서 행마다 삽입되었을 때마다 1행씩(숫자) 삽입되었다고 뜨기때문에


매개변수는 쿼리문에서의 빈값(물음표)를 채우기위해 필요한 것이다.
그래서 없으면 괄호안 매개변수를 안적으면 된다.
매개변수는 물음표로 판단한다.
1.'?' 가 1개 일때
-?에 채워 줄 값이 숫자일때 -> 매개변수 int
-?에 채워 줄 값이 문자열일때 -> 매개변수 string
-?가 1개일 경우 매개변수는 자료형으로 보고 판단한다.
ex) selcet*from board where board_num =?; ( board_num 는 기본키)
->?값은 board_num(pk)이니 매개변수 int 한개만 주면 된다.
dao메소드:
public BoardDTO select(int board_num){
}

ex) selcet*from board where title =?; (title 중복가능)
dao메소드:
public List< BoardDTO > select(String title){
}

2.'?'가 2개이상 일때
-BoardDTO boardDTO
-'?'가 2개이상일 경우는 매개변수를 무조건!!! BoardDTO boardDTO 로 사용한다
ex) update board set title = ?, writer = ? where board_num = ? ;
dao메소드:
public int update(BoardDTO boardDTO){
}


db작업할때 사용하는 것
1.프레임워크 Mybatis
2.jpa

프로젝트명: MybaisBoard(+web.xml파일)생성
1.

  • 파일복사('.jar'로 끝나는 확장자 파일만)
  • 프로젝트 내 lib파일에 붙여넣기
  • src/main/java에 파일 붙여넣기

  • 프로젝트 내 필요한 파일

    작성 순서!!!
    mapper에서 쿼리문 작성 > 인터페이스에서 메소드 생성(리턴타입,매개변수 유의) > 서비스impl에서 기능구현

profile
Dev.Vinch

0개의 댓글