방카@Dev
[Spring]JDBC Template 정리 본문
1. <pom.xml> Dependency 등록
- JdbcTemplate은 spring-jdbc에 포함되어 있음
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>
2. <servlet-context.xml> JdbcTemplate 스프링 빈 등록
<beans:bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<beans:property name = "driverClassName" value = "com.mysql.cj.jdbc.Driver"/>
<beans:property name = "url" value ="jdbc:mysql://localhost:3306/model2?serverTimezone=UTC&useSSL=false"/>
<beans:property name = "username" value="root"/>
<beans:property name = "password" value="qwe123!@#"/>
</beans:bean>
<beans:bean name="template" class="org.springframework.jdbc.core.JdbcTemplate">
<beans:property name = "dataSource" ref="dataSource"/>
</beans:bean>
3. JdbcTemplate 메서드 정리
(1) update(sql, ?에 들어갈 값) : 데이터를 변경할 때 사용(insert, update, delete)
- 반환 타입이 int이므로 영향받은 로우 수를 반환
- ?에 바인딩할 파라미터를 순서대로 전달
(2) queryForObject(sql, 반환받을 데이터 타입, ?에 들어갈 값 )
- 결과값이 하나일 때 사용
String sql = "select BOARD_PASS from board where BOARD_NUM=?";
String dbPass = template.queryForObject(sql, String.class, num);
(3) query(sql, 반환받을 데이터 타입, ?에 들어갈 값)
(List<BoardBean>)template.query(query,
new BeanPropertyRowMapper<BoardBean>(BoardBean.class),startrow, endrow);
- 결과값이 하나 이상일 때 사용
- RowMapper는 데이터베이스의 반환 결과인 ResultSet을 객체로 변환
- 결과값이 없으면 빈 컬렉션 반환
'BackEnd > Spring' 카테고리의 다른 글
[Spring] Scope 객체를 이용한 데이터 전송 방법(Request,Model,Session) (0) | 2024.06.24 |
---|---|
[Spring]빈 생명주기 콜백 (0) | 2024.06.21 |
[Spring]게시판 파일 업로드 라이브러리(COS) (1) | 2024.06.20 |
[Spring]Validator를 이용한 유효성 검사 (0) | 2024.06.17 |
[Spring]IntelliJ 자바 버전 변경하는 방법 (0) | 2024.06.15 |