스프링 JDBC
스프링이전의 DB와 연동되는 DAO에서 코드를 보면 매우 양이많고 insert,update,delete 마다 반복이된다.
만약 DB연동에대한 부분은 개발자가아닌 누군가가 처리해주고,
개발자는 SQL 구문에만 관리하면된다면 참 편할것이다.
Spring에서는 JDBC기반 DB연동 프로그램을 지원하는데
바로 JdbcTemplate 클래스 이다.
반복되는 DB연동 로직은 JdbcTemplate 클래스의 템플릿 메소드가 제공하고
개발자는 SQL 구문만 관리하면되는샘이다.
일단 사용하려면 pom.xml에 다음과같이 디펜던시안에 추가한다
JdbcTemplate가 DB연동 처리하려면 DB 커넥션을 반드시 얻어야하는데
이때 JdbcTemplate가 사용하는 객체가 DataSource이다
DataSource는 bean등록을하여 스프링 컨테이너가 생성하도록 한다.
(DataSource는 다양하게쓰인다,Mybatis,트랜잭션 처리,JPA 등등 그러니 매우중요한 설정이다!)
root-context.xml 이런 파일에 주로 등록되는데
간단하게 DB설정하는 것이다.
DataSource을 등록을 하였다면 JdbcTemplate 객체를 이용하여 DB연동을 간단하게해보자
JdbcTemplate 객체를 이용하여 DAO 클래스를 구현하자
이때 DAO입장에서 JdbcTemplate 객체를 얻는 방법은 두가지인데.
1.상속받는다 JdbcDAOSupport , 메소드를 상속받는다 setSuperDataSource <- DataSource주입(root-context.xml..)
2.JdbcTemplate객체를 bean등록하여 의존성 주입한다 <- 일반적인 방법
두번째방법에서 bean을 등록하여
DAO에서 JdbcTemplate타입을 선언하여 의존성을 주입받는다.
이후 쿼리문은 jdbcTemplate.update(쿼리,vo,vo,...) 식이다.