insert
와 update
,findBy~
를 구성해준다.Optional
로, Category는 해당 카테고리에 대한 제품을 다건으로 검색하는 메서드니 List
로 구성한다. delete
기능을 갖는 메서드까지, 메서드 7개를 정의해준다.NamedParameterJdbcTemplate
을 이용해주자.findAll()
을 만들어준다.productRowMapper
를 사용하고, 이를 정의해주자.productRowMapper
을 사용하기 위해 메서드를 정의해준다. Category.valueOr( )
를 사용한다.getLong( )
getTimeStamp( )
를 로컬데이터로 변환하면서 null 처리를 해야하고, LocalDateTime
으로 변환해주는 메서드를 하나 만들어준다.timestamp != null ? timestamp.toLocalDateTime()
toUUID
와 toLocalDateTime
를 따로 정의했는데, 같은 곳에 두는 것보다는 다른 클래스를 생성해 자리를 옮겨주고 주입받게 만들자. NamedParameter
로 전달해주기 위해서 UUID_TO_BIN
을 사용한다.paramMap
을 정의.SpringBootTest
어노테이션을 붙이면 알아서 스프링부트 애플리케이션을 찾아 세팅해줌.pom.xml
에 가서 embedded DB설정을 해준다.TestMethodOrder( )
로 순서를 보장해준다.ProductRepository
를 오토와이어링 해주고, newProduct를 새로운 필드로 생성해준다. resources
디렉토리를 만들고 application-test.yaml
파일을 생성해준다.start
와 stop
에서 오류가 발생한다. (UNHEX(REPLACE(:productId, '-', '')
findById
findByName
findByCategory
를 구현하자.try-catch
문을 기본적으로 사용해준다..toString()
을 사용해 스트링으로 바꿔서 전달해준다.static
으로 주어야한다. static으로 해주어야 new Product
가 매번 새로 생성되지 않는다.TestInstance
를 PER_CLASS
로 바꿔주어야 한다.