🐢 꼬부기 LV.1 | 개념•기초/💧물대포(핵심개념)

JDBCtemplate 문법

서화 2026. 1. 28. 15:00

지난 포스팅에서 jdbc템플릿의 구조에 대해 포스팅했었다

이제 jdbc 문법에 대해 알아보겟다

✔️jdbctemplate 문법

1. insert,update,delete

jdbc템플릿이 잘 연결됬는지 확인하기 위해 로그를 추가해 실행시켜주었다

로그는 잘 출력 되었지만 인서트보드가 정상적으로 실행되지 않았다 따라서 정상적으로 실행시키려면 문법대로 작성해야한다

private static final String INSERT = "INSERT INTO BOARD(TITLE,WRITER,CONTENT) VALUES(?,?,?)";

현재 인서트 SQL 문에는 파라미터가 세개가 있다 따라서 사용할 SQL 이름 옆에 파라미터의 개수의 맞춰서 같이 적어줘야한다

C,U,D에서 사용할때는 jdbc템플릿 업데이트를 사용할수 있는데 여기서 업데이트란 DB의변경을 의미한다

2. get,List

DAO에서 겟 보드(셀렉트원)의 핵심은 DTO반환하는 것이다 jdbc템플릿을 사용할때 qureyForObject를 사용할수 있다

셀렉트원은 DB에 변화가없기 때문에 사용할 SQL이름을 적고 어떻게 반환할지와 파라미터를 인자로 넣어줘야한다

여기서 어떻게 반환해야되는지를 설정해야하는데 이 컬럼이 이 멤버 변수야 라고 알려줘야한다

따라서 새로운 클래스가 필요하고 이 클래스 이름을 RowMapper라고 한다

이 클래스는 jdbc템플릿이 사용하도록 만들어야하기때문에 implements를 사용해서  RowMapper<boardDTO> 를 가져온다

이 로우 매퍼에 리절트셋으로 처리되어야하는 DTO를 넣어준다

따라서 어떻게 반환할지의 자리에 로우 매퍼를 넣고 그 뒤에 파라미터 인자를 넣어준다

셀렉트 올은 쿼리라고 쓰고 반환값이 없으니까 어떻게 반환할지만 적어주면 된다

이때 로우 매퍼를 새로 만들지 않은 이유는 셀렉트가 똑같이 리절트셋을 사용하기때문이다 만약 리절트셋을 다르게 사용한다면 로우매퍼도 여러개가 되어야한다

📌정리

데이터소스 → <jdbc템플릿 빈클래스에서 참조할 정보>
jdbc템플릿 사용 설정 →  xml <빈클래스> 설정

실제 DB처리

클라이언트가 → 보드 서비스 임플리에 일시킴 → 보드서비스 임플리가 보드DAO에게 일시킴
핵심은 DAO지만 그렇다고 해서 임플리가 일을 안하는것은 아님

즉 템플릿 코드가 실행되는것은 둘다 이다

클라이언트 -> bs(보드서비스임플리) 호출 -> DAO실행(jdbc템플릿)