Spring/Study
2020. 4. 19. 18:09
(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)
데이터베이스와 통신을 하기 위해서는 드라이버 로딩, DB 연결, 자원 해제의 작업들을 반복적으로 입력해 주어야 했다. JdbcTemplate은 이러한 작업들을 스프링 프레임워크에서 자동으로 처리하게 하여 JDBC의 단점을 보완하기 위해 사용한다. 데이터베이스 연결과 관련된 정보를 가지고 있는 DataSource는 스프링 또는 c3p0에서 제공하는 클래스를 이용할 수 있다.
pom.xml
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>12.1.0.2</version>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
|
cs |
MemberDao.java (c3p0 이용)
@Repository public class MemberDao implements IMemberDao { private String driver = "oracle.jdbc.driver.OracleDriver"; private String url = "jdbc:oracle:thin:@localhost:1521:orcl"; private String userid = "moomini"; private String userpw = "1234"; private DriverManagerDataSource dataSource; private JdbcTemplate template; public MemberDao() { dataSource = new DriverManagerDataSource(); dataSource.setDriverClass(driver); dataSource.setJdbcUrl(url); dataSource.setUser(userid); dataSource.setPassword(userpw); template = new JdbcTemplate(); template.setDataSource(dataSource); } @Override public int memberInsert(final Member member) { int result = 0; final String sql = "INSERT INTO member (memId, memPw, memMail) values (?,?,?)"; result = template.update(sql, new PreparedStatementSetter() { @Override public void setValues(PreparedStatement pstmt) throws SQLException { pstmt.setString(1, member.getMemId()); pstmt.setString(2, member.getMemPw()); pstmt.setString(3, member.getMemMail()); } }); return result; } } | cs |
'Spring > Study' 카테고리의 다른 글
스프링 부트(Spring Boot) 프로젝트 생성 (0) | 2020.04.21 |
---|---|
스프링(Spring) 커넥션풀 (0) | 2020.04.19 |
스프링(Spring) JDBC (0) | 2020.04.19 |
스프링(Spring) 리다이렉트(Redirect), 인터셉트(Intercept) (0) | 2020.04.18 |
스프링(Spring) 세션(Session), 쿠키(Cookie) (0) | 2020.04.18 |