일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 스프링 데이터베이스연동
- 데이터베이스연동
- AOP-관점지향 프로그래밍(Aspect Oriented Programming)
- #JSP
- 스프링 마이바티스
- 스프링 setter
- srping 데이터베이스연동
- 스프링 mybatiis
- Spring
- spring mybatis연동
- 스프링 마이바티스연동
- #데이터 베이스
- 스프링 autowired
- 스프링 NamedParameterJDBCTemplate
- 스프링 생성자
- 스프링 의존성
- 스프링 팩토리
- AOP-관점지향프로그래밍
- 스프링
- predestory
- 관점지향 프로그래밍
- #Java
- 스프링 데이터베이스
- #출처는 페이스북
- #인테리어
- JSP-서블릿
- #스프링 셋팅
- JSP
- 스프링 DB연동
- 스프링 의존성주입
- Today
- Total
재미있게 코딩합시다
4.스프링(Spring)-NamedParameterJDBCTemplate 본문
NamedParameterJDBCTemplate 적용하기
applicationContext.xml에 적용해줍니다.
package Dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource;
import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import model.Dept;
public class DeptDao {
private NamedParameterJdbcTemplate jdbcTemplate;
public void setJdbcTemplate(NamedParameterJdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public void insert(Dept dept) {
//여러개, 자바유틸
Map<String, Object> params = new HashMap<String,Object>();
params.put("deptno", dept.getDeptno());
params.put("dname", dept.getdName());
params.put("dloc", dept.getdLoc());
String sql = "insert into dept values"
+ "(:deptno, :dname, :dloc)";
jdbcTemplate.update(sql, params);
}
public void delete(int deptno) {
//한개, 자바유틸 이용
String sql = "delete from dept where deptno = :deptno";
jdbcTemplate.update(sql,
Collections.singletonMap("deptno", deptno));
}
public void update(Dept dept) {
//여러개, 스프링 라이브러리 키벨류 객체 쓰기
String sql = "update dept set dname = :dname"
+ "dloc = :dloc where deptno = :deptno";
BeanPropertySqlParameterSource params =
new BeanPropertySqlParameterSource(dept);
jdbcTemplate.update(sql, params);
}
RowMapper<Dept> mapper = new RowMapper<Dept>() {
@Override
public Dept mapRow(ResultSet rs, int index) throws SQLException {
Dept dept = new Dept();
dept.setDeptno(rs.getInt("deptno"));
dept.setdName(rs.getString("dname"));
dept.setdLoc(rs.getString("dloc"));
return dept;
}
};
public Dept selectOne(int deptno) {
// 한개, 스프링라이브러리 이용
String sql = "select * from dept where deptno = :deptno";
MapSqlParameterSource param =
new MapSqlParameterSource("daptno", deptno);
return jdbcTemplate.queryForObject(sql, param, mapper);
}
}
NamedparameterJdbcTemplate 은
select 해서 매퍼 이용해서 결과값 매핑하는거 JdbcTemplate랑 똑같습니다.
sql문에 파라미터를 매핑할때 이름을 기반으로 해서 매핑시킬수잇죠
Map과 비슷합니다.
Sql문을 작성할때 :
숫자대신 이름을 적습니다.
그이름을 key값으로 그자리에 넣을 값을 value값으로 해서 맵으로 만들어서 날려줍니다.
앞의 "deptno" ===> key값
뒤에 dept.getDeptno() ==> value 값
public void update(Dept dept) {
//여러개, 스프링 라이브러리 키벨류 객체 쓰기
String sql = "update dept set dname = :dname"
+ "dloc = :dloc where deptno = :deptno";
BeanPropertySqlParameterSource params =
new BeanPropertySqlParameterSource(dept);
jdbcTemplate.update(sql, params);
}
BeanPropertySqlParameterSource params =
new BeanPropertySqlParameterSource(dept);
=====> 해당객체의 멤버변수를 key값으로 그멤버변수의 값을 vaule값으로 해서
key,values 쌍을 만들어줍니다.
'IT > Spring(스프링)' 카테고리의 다른 글
Mybatis - Spring 연동하기 (0) | 2019.01.09 |
---|---|
스프링 - mybatis (마이바티스) (0) | 2019.01.07 |
3. 스프링(Spring) - 데이터베이스와의 연동 (0) | 2019.01.04 |
2.스프링(Spring)-어노테이션, @postConstruct, @ preDestory (0) | 2019.01.03 |
1.Spring(스프링) -의존성 주입(Dependency Injection, DI) (0) | 2019.01.02 |