본문 바로가기
JAVA/Spring

Spring - JdbcDaoSupport

by 설총이 2018. 9. 10.

- JdbcDaoSupport 를 구현받아서 사용하는 DAO 클래스


JdbcDaoSupport는 getter/setter가 자동으로 오버라이딩 되어있으므로,

setter선언을 할 필요가 없다.

그리고 jdbcTemplate가 필요한 곳에서는 getJdbcTemplate()으로 그냥 쓰면 된다.



[jdbcEx.xml]일을 JdbcDaoSupport 사용에 맞게 수정한다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!-- 커넥션 풀을 만들기위한 과정. db.properties에 있는 값을 가져와 EL로 꺼냄 -->
 
<bean id="dataSource"
    class="com.mchange.v2.c3p0.ComboPooledDataSource"
    destroy-method="close">
    <property name="driverClass" value="${jdbc.driver}" />
    <property name="jdbcUrl" value="${jdbc.url}" />
    <property name="user" value="${jdbc.username}" />
    <property name="password" value="${jdbc.password}" />
</bean>
 
<!-- 위의 dataSource를 프로퍼티 객체로 받는 bean -->
<bean id = "jdbcDAO" class = "spring.jdbc.jdbcDAO">
    <property name = "dataSource">
        <ref bean = "dataSource"/>
    </property>
</bean>
cs



[jdbcDao.java]


1
2
3
4
5
6
7
8
9
10
11
12
// 메서드 - 쿼리 실행
public List<memberDTO> selectAll() {
    String sql = "select * from member";
    UserRowMapper mapper = new UserRowMapper();
    // DB에 만든 컬럼과 같은 변수를 가진 클래스에
    // DB에있는 값을 꺼내와서 DTO에 저장한 클래스 객체 생성
    List<memberDTO> list = getJdbcTemplate().query(sql, mapper);
    // jdbcTemplate에 수행할 쿼리문과, rs문을 실행할 mapper를 매개변수로 넣는다.
    // 기존에 하던 방식과 다른점은, DB에 저장되어있는 값을 꺼내와 DTO에 저장하는 과정을
    // 다른 클래스로 뺐다는점이다.
    return list;
}
cs





1
2
List<memberDTO> list = getJdbcTemplate().query(sql, mapper); 




JdbcDaoSupport는 getter/setter가 자동으로 오버라이딩 되어있으므로,

setter선언을 할 필요가 없다.

그리고 jdbcTemplate가 필요한 곳에서는 getJdbcTemplate()으로 그냥 쓰면 된다.



'JAVA > Spring' 카테고리의 다른 글

Spring MVC 설정  (0) 2018.09.11
Spring - mybatis 연결  (0) 2018.09.10
Spring을 통한 jdbc연결  (0) 2018.09.10
Spring 예제 - 어노테이션 , @Aspect  (0) 2018.09.10
Spring예제 - setter방식  (2) 2018.09.06