jdbctemplate 예제

By Dave Sanasack, on Aug, 02 2019

[…] 더 많은 예; 출처: http://www.mkyong.com/spring/spring-jdbctemplate-querying-examples/ GA_googleAddAttr (“AdOpt”, “1”); GA_googleAddAttr(“원산지”, “기타”); […] 다음 예제에서는 DBCP 및 C3P0에 대한 기본 연결 및 구성을 보여 주며 있습니다. 풀링 기능을 제어하는 데 도움이 되는 추가 옵션에 대한 자세한 내용은 각 연결 풀링 구현에 대한 제품 설명서를 참조하세요. 다음 예제에서는 간단한 저장 프로시저를 호출합니다. 보다 정교한 저장 프로시저 지원은 나중에 다룹니다. 다음 예제에서는 특정 기본 키에 대해 업데이트된 열을 보여 주며, 이 예제에서 SQL 문에는 행 매개 변수에 대한 자리 표시가 있습니다. 매개 변수 값은 varargs로 전달하거나 개체의 배열로 전달할 수 있습니다. 따라서 프리미티브는 프리미티브 래퍼 클래스에 명시적으로 래핑하거나 자동 boxing을 사용해야 합니다. 예를 들어, 아래 예제에서 bean의 속성을 사용 하 여 명명 된 매개 변수를 확인 합니다. 예를 들어 사람 및 자동 의 두 클래스가 있는 경우. 그리고 PersonDAO 및 AutoDAO와 같이 각 클래스 DAO 구현에서 두 개의 별도 데이터 소스를 만들어야합니다. 그런 다음이 두 클래스 간의 트랜잭션을 만들어야합니다 (자동에서 일부 메서드가있는 Person 바인더의 일부 메서드, 한 메서드가 실패한 경우 다른 메서드는 데이터베이스의 정보를 업데이트하지 않아야합니다 .

마지막으로 두 개의 별도 데이터 소스가 있으며 내부 트랜잭션은 하나의 트랜잭션에 바인딩되지 않습니다. 모든 DAO 구현에 대해 하나의 데이터 소스를 만들려면 어떻게 해야 합니까? 다음 예제에서는 JDBC 템플릿의 사용을 보여 줍니다. 이 예제는 더비를 기반으로 합니다. MappingSqlQuery는 콘크리트 하위 클래스가 제공된 ResultSet의 각 행을 지정된 형식의 개체로 변환하기 위해 추상 mapRow(.)를 구현해야 하는 재사용 가능한 쿼리입니다. 다음 예제에서는 t_actor 관계에서 액터 클래스의 인스턴스에 데이터를 매핑하는 사용자 지정 쿼리를 보여 주습니다. 최소한의 구성 옵션으로 SimpleJdbcInsert 클래스를 살펴보겠습니다. 데이터 액세스 계층의 초기화 메서드에서 SimpleJdbcInsert를 인스턴스화해야 합니다. 이 예제에서 초기화 방법은 setDataSource 메서드입니다. SimpleJdbcInsert 클래스를 하위 클래스로 분류할 필요가 없습니다.

새 인스턴스를 만들고 withTableName 메서드를 사용하여 테이블 이름을 설정하기만 하면 됩니다. 이 클래스의 구성 메서드는 SimpleJdbcInsert의 인스턴스를 반환하는 “유체” 스타일을 따르므로 모든 구성 메서드를 연결할 수 있습니다. 이 예제에서는 하나의 구성 메서드만 사용합니다. 나중에 여러 예의 예제를 볼 수 있습니다.