20220802_Tue
데이터베이스 작업(연결)하는 DAO!!
쿼리가 가장중요하다
그럼 어떤쿼리를 만들것인가?
주로 사용 쿼리 는 4가지가 있다.
select
insert
update
delete
select
-리턴값 void 사용 x (안좋음)
-메소드 리턴타입 List< BoardDTO > / BoardDTO
-왜?
-조회하면 쿼리가 여러개 뜨는 경우가 많다.조회하면 데이터가 한줄일때(where에서 PK있으면)/여러줄일때/아무것도 없을 때 이다.
-List< BoardDTO >:조회결과 여러행이 나올 경우,BoardDTO가 여러행 있는 경우와 같기때문에 배열리스트에 담는다.
-BoardDTO: 조회결과 데이터가 0~1행인 경우,문자열과 숫자 모두를 담을 수 있는 자료형은 없기때문에 사용자임의지정 자료형(BoardDTO)를 사용한다.
매개변수는 쿼리문에서의 빈값(물음표)를 채우기위해 필요한 것이다.
그래서 없으면 괄호안 매개변수를 안적으면 된다.
매개변수는 물음표로 판단한다.
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.
프로젝트 내 필요한 파일
작성 순서!!!
mapper에서 쿼리문 작성 > 인터페이스에서 메소드 생성(리턴타입,매개변수 유의) > 서비스impl에서 기능구현