반응형 프로그래밍/Spring71 JPA를 이용한 페이징 처리 구현 예제 JPA를 이용한 페이징 처리 구현 예제 //페이징 처리 Pageable pageable = new PageRequest(0,3); //Pageable 인터페이스로 페이징 정보를 가져온다. 본체 클래스로는 PageRequest클래스가 있으며 이 클래스 생성자의 첫번째 인자는 페이지 수를, 두번째 인자는 한 //페이지가 포함하는 데이터 수를 나타냅다.(페이지 수는 0부터 시작한다.) Page page = customerRepository.findAll(pageable); 한 페이지 데이터 수 : page.getSize()현재 페이지 : page.getNumber() 전체 페이지 수 : page.getTotalPages()전체 데이터 수 : page.getTotalElements() 해당 페이지의 데이터 리스.. 2019. 4. 17. @Query어노테이션, JPQL(Java Persistence Query Language) @Query어노테이션, JPQL(Java Persistence Query Language) 이게 이건지 모르고 사용했는데 또 하나 알게 되었다. public interface CustomerRepository extends JpaRepository {@Query("SELECT x FROM Customer x ORDER BY x.firstName, x.lastName")List findAllOrderByName(); } JPA는 JPQL 뿐만 아니라 SQL도 사용할 수 있는데 스프링 데이터 JPA에서 다음과 같이 @Query에 nativeQuery=true 를 지정하면 SQL을 사용할 수 있다. @Query(value="SELECT id, first_name, last_name FROM customers .. 2019. 4. 17. Log4JDBC로 SQL 로그 출력을 위한 설정 Log4JDBC로 SQL 로그 출력을 위한 설정 Log4JDBC를 사용해서 JDBC드라이버를 프록시로 래핑하여 SQL로그를 출력하는 방법. pom.xml org.lazylukelog4jdbc-remix0.2.7 logback.xml수정 Log4JDBC가 SQL 로그를 출력하도록 Logback의 레벨을 설정. src/main/resources/logback.xml파일을 다음과 같이 설정 Log4JDBC를 사용하려면 DataSource를 명시적으로 정의해야 한다. @Autowired DataSourceProperties dataSourceProperties; DataSource dataSource; @Bean DataSource realDataSource() {//명시적 데이터베이스 연결 정보 return .. 2019. 4. 17. H2 파일 데이터베이스를 사용하도록 설정 H2 파일 데이터베이스를 사용하도록 설정 src/main.resources/application.yml 내장된 인 메모리 데이터베이스를 사용하는 설정 spring:datasource:driverClassName: org.h2.Driverurl: jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSEuername: sapassword: 이렇게 설정되면 애플리케이션의 실행을 끝낼 때마다 데이터가 사라진다. 데이터가 지속되도록 하기 위해 H2 데이터베이스를 파일 데이터베이스 방식으로 사용하도록 설정을 변경한다. spring.datasource.url속서값을 변경 spring:datasource:driverClassName: org.h2.Driverurl: j.. 2019. 4. 17. JdbcTemplate 사용 예제 JdbcTemplate 사용 예제 JdbcTemplate을 매핑하여 더욱 편리하게 사용할 수 있는 NamedParameterJdbcTemplate이라는 클래스가 있다. NamedParameterJdbcTemplate은 SQL구문 안에 파라미터를 사입할 수 있도록 ':파라미터 이름' 형식의 플레이스 홀더를 이용한다. 일반적인 JDBC API는 ?를 플레이스홀더로 사용하므로 불편하다. NamedParameterJdbcTemplate의 queryForObject() 메서드를 사용하여 쿼리 실행 결과를 오브젝트로 변환한 상태로 얻어 온다. 첫번째 인자로 SQL, 두번째 인자로 파라미터, 세번째 인자로 반환 값이 될 객체 클래스를 지정한다. 이 메서드는 쿼리 반환 값이 단일 레코드가 아니면 incorrectRes.. 2019. 4. 17. CommandLineRunner이용 및 어플리케이션 구조 CommandLineRunner이용 및 어플리케이션 구조 스프링부터에는 CommandLineRunner라는 인터페이스가 있다. 메인 App클래스가 CommandLineRunner인터페이스를 구현하면 DI 컨테이너가 App클래스에도 주입할 수 있게 된다. @EnableAutoConfiguration@ComponentScanpublic class App implements CommandLineRunner {@AutowiredArgumentResolver argumentResolver; @AutowiredCalculator calculator; @Overridepublic void run(String... strings) throws Exception { } public static void main(Stri.. 2019. 4. 16. 이전 1 ··· 3 4 5 6 7 8 9 ··· 12 다음 반응형