NamedParameterJdbcTemplate

2018. 10. 22. 18:38·Spring


NamedParameterJdbcTemplate 클래스는 인덱스 기반의 파라미터가 아닌 이름 기반의 파라미터를 설정할 수 있도록 해주는 템플릿 클래스다.


인덱스 기반의 파라미터를 전달받는 물음표를 사용하지 않고 이름 기반의 파라미터를 쿼리에서 사용할 수 있도록 지원한다.


@Repository
public class BoardDao {
private NamedParameterJdbcTemplate jdbc;
// insert
private SimpleJdbcInsert insertAction;


public BoardDao(DataSource dataSource){
this.jdbc = new NamedParameterJdbcTemplate(dataSource);

this.insertAction = new SimpleJdbcInsert(dataSource)
.withTableName("board2")
.usingGeneratedKeyColumns("id"); // 자동생성되는 칼럼(id)이 있을경우
}


생성자를 이용해서 NamedParameterJdbcTemplate에 DataSource를 주입할 수 있다.



public int updateCount(Long id) {
String sql = "update board2 set read_count = read_count + 1 where id = :id";
Map<String, Long> map = Collections.singletonMap("id",id);
return jdbc.update(sql,map);
}


기존 JDBC 프로그램에서는 where id = ? 로 나타냈던 부분이 :id 로 바뀌었다.


바인딩 하는 값을 map에 이름과 값을 저장한다. 위의 코드에서는 id 하나만 있으므로 싱글톤으로 만들었다. 여러 값을 이용하게 되면


Map map = new HashMap();

으로 만들고 하나씩 put 해주어야 한다.



반응형
'Spring' 카테고리의 다른 글
  • JPA findOne, getOne 차이점
  • JPQL @Query 2개 이상 프로젝션 리턴
  • 엔티티 json 변환시 생겼던 문제
  • Application Context 에 대해서
Jadie Blog
Jadie Blog
  • Jadie Blog
    Jadie
    Jadie Blog
  • 전체
    오늘
    어제
    • 분류 전체보기 (44)
      • OOP (7)
      • DDD (1)
      • JAVA (8)
      • Spring (12)
      • Kafka (1)
      • TDD,Test (4)
      • Basic (1)
      • ETC (1)
      • MySQL (0)
      • Javascript (0)
      • Spark (3)
      • Infra (2)
      • Algorithm (0)
      • Network (1)
      • Jobs (0)
      • 일상 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • 휴튼
  • 공지사항

  • 인기 글

  • 태그

    Spring #ApplicationContext
    객체지향사실과오해
    MSA
    OAuth2 #Spring
    테스트
    Resilience4jFeign
    Transactional Outbox
    API문서
    HTTP #HTTPS
    캡슐화
    객체지향
    slave
    Spring
    우아한스터디
    추상클래스 #인터페이스
    OOP
    java
    entitymanager
    의존역전원칙
    routingdatasource
    localdatetime
    Kafka
    springboot
    메시징시스템
    JAVA #IO
    Test
    MASTER
    jpa
    JPQL
    글또
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
Jadie Blog
NamedParameterJdbcTemplate
상단으로

티스토리툴바