퍼지 쿼리
Spring Data JPA를 사용하면 개발자의 SQL 문 작성을 줄이고 SQL 문을 전혀 쓸 필요도 없습니다. 그러나 개발 과정에서 항상 모든 크기의 다양한 복잡한 시나리오와 함정이있을 것입니다.
오늘날 프로젝트의 기능 모듈에는 퍼지 쿼리가 필요합니다. 기본 SQL의 퍼지 쿼리 키워드 'Like'및 Spring Data JPA의 리포지토리 인터페이스도 엔터티 필드에 해당합니다. 그러나 직접 사용한다면 축하합니다. 함정이있는 것이 운이 좋았습니다.
스프링 데이터 JPA 퍼지 쿼리 정확한 사용법
먼저 데이터를 저장할 수있는 엔티티를 만듭니다
/** * Entity * * @Author chentai * @Date 18/04/22 */ @data @entity @equalsandHashCode (true) public class extremententity {@id @generatedValue (@id @generatedValue (generator = "uuid") @genericgenerator (name = "uuid", private string "); 개인 문자열 사용자 이름; 개인 문자열 deviceNames;}다음으로 엔티티에 해당하는 저장소 인터페이스를 만듭니다
/** * @author chentai * @date 18/04/22 */ @repositorypublic interface examplerepository <examesentity, string> {/** * 퍼지 Query의 올바른 사용법 * Fuzzy Query * @param Quzzy Quzzy Quzzy Devicamey devicamey quzzy quzzy quzzy quzzy quzzy quzzy quzzy quzzy 사용자 이름 사용자 이름 * @return {@link list <emastionentity>} */ list <emastionentity> findAllByDevicEnamesContainingAndUserName (String deviceNames, String username); / *** 퍼지 쿼리의 오류 사용* 사용자 이름이 퍼지 쿼리를 지원하지 않는 경우, DeviceNames는 퍼지 쿼리** @param devicenames 퍼지 쿼리 deviceNames* @param username username username* @return {@link list <examesentitity>}*/ list <eAviCENAMENTITY (informbicEname, findAllByDevicEnameames nevicenamestlikeNameameNameSeNames, findLikEnameStity)를 지원합니다. 사용자 이름); } 마지막으로, 테스트 클래스에서 Desamplerepository에서 두 가지 방법을 테스트했으며 (테스트 결과는 당분간 표시되지 않음) FindAllByDevicenameslikeAnduserName 메소드가 원하는 결과를 올바르게 쿼리하지 않았으며, 얻은 결과는 정확한 쿼리의 결과입니다. 그리고 findAllByDevicEnamesContainingAndUserName은 우리가 원하는 퍼지 쿼리의 결과를 얻습니다.
요약
프로젝트에서 SQL 기본 명령문을 작성하지 않고 퍼지 쿼리를 사용하려면 키워드가 기본적으로 사용되는 것으로 당연한 것으로 여겨지는 대신 포함 된 키워드를 사용하십시오. 키워드는 JPA에서도 사용됩니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.