다음에주의를 기울여야하는 몇 가지 함정이 있습니다.
삭제 작업을 구현할 때는 클래스의 각 계층에 추가해야합니다.
@transactional
의견, 그렇지 않으면보고 오류가 계속됩니다
@Query를 사용하여 작업을 정의하면 컴파일러에서 오류가 발생합니다. 현재 QL의 구문 검사 만 비활성화하면됩니다.
몇 가지 코드는 다음과 같습니다.
//저장소
package com.example.myproject.dao; import com.example.myproject.domain.user; import org.springframework.data.domain.page; import org.springframework.data.domain.pagable; import org.springframework.data.jpa.repository; import; org.springframework.data.jpa.repository.modifying; import org.springframework.data.jpa.repository.query; import org.springframework.data.repository.query.query.query.query.query.query.query.param; import javav.transaction.transactional; import java.util.list;/** ***** on on in lembo on on in import java.util.list; 2017/4/19. */@transactionalPublic Interface userreepository 확장 <user, long> {void deletebyid (int id); void deletebyName (문자열 이름); void deletebysex (문자열 섹스); void deletebyage (int age); void removeByNameAndage (문자열 이름, int age); @modifing @Query (value = "value ="Usude U.name = : newname u.name = : OldName ", aviLName = true) void updatenamebyName (@param ("OldName ") String OldName, @Param ("newName ") String newName); list <user> findall (); Page <user> findall (pagable pagable); list <user> findbyname (문자열 이름); list <user> findbysex (문자열 섹스); List <user> findByage (int age); 사용자 FindByNameAndSex (문자열 이름, 문자열 섹스);}//제어 장치
package com.example.myproject.web; import com.example.myproject.dao.userrepository; import com.example.myproject.domain.user; org.springframework.beans.factory.annotation.autowired; import org.springframework.data.domain.pagerequest; org.springframework.data.domain.pageable import; org.springframework.data.domain.sort import; org.springframework.web.bind.annotation.requestmapping; org.springframework.web.bind.annotation.requestparam; org.springframework.web.bind.annotation.RestController; import javax.transaction.transactional; Java.util.list 가져 오기; /*** 2017/4/19에 Lenovo가 만든. */ @RestController @requestMapping ( "/") @Transactional Public Class USERCONTROLLER {@autowired private userrepository userrepository; @requestmapping (value = "/userave") public string usersave (@requestparam 문자열 이름,@requestparam string sex,@requestparam int age) {user user = new user (); user.setName (이름); user.setage (나이); user.setsex (섹스); userreepository.save (사용자); "True"를 반환합니다. } @RequestMapping (value = "/deleteById") public String deleteById (@requestParam ind id) {userRepository.DeleteById (id); "성공"을 반환합니다. } @requestmapping (value = "/deletebyName") public String deleteByName (@requestParam String name) {userRepository.DeleteByName (name); "성공"을 반환합니다. } @requestmapping (value = "/deletebysex") public string deletebysex (@requestparam string sex) {userrepository.deletebysex (sex); "성공"을 반환합니다. } @requestmapping (value = "/deletebyage") public String deletebyage (@requestparam int age) {userrepository.deleteByage (age); "성공"을 반환합니다. } @RequestMapping (value = "/deletebyamaEndage") public string deletebyamaEndage (@requestparam 문자열 이름, @requestparam int age) {userrepository.removebyamaendage (이름, 나이); "성공"을 반환합니다. } @requestmapping (value = "/updatenamebyname") public String updatenamebyName (@requestParam String OldName, @requestParam String newName) {userreepository.updatenamebyName (OldName, newName); "성공"을 반환합니다. } @RequestMapping (value = "/findall") public list <user> findall () {list <user> l = userreepository.findall (); 리턴 l; } @RequestMapping (value = "/findAllBypage") public page <user> findAllBypage () {Sort Sort = new Sort (Sort.Direction.asc, "id"); pageable pagable = new pagerequest (2,6, 정렬); Page <usere> page = userrepository.findall (pagable); 반환 페이지; } @requestmapping (value = "/findbyname") 공개 목록 <user> findbyname (@requestparam 문자열 이름) {list <user> list = userreepository.findbyName (name); 반환 목록; } @requestmapping (value = "/findByage") 공개 목록 <user> findByage (@requestparam int age) {list <user> list = userreepository.findByage (age); 반환 목록; } @RequestMapping (value = "/findBysex") 공개 목록 <user> findBysex (@requestparam string sex) {list <user> list = userreepository.findbysex (sex); 반환 목록; } @RequestMapping (value = "/findByamaEndsex") 공개 사용자 findByameAndSex (@RequestParam 문자열 이름, @RequestParam String Sex) {user list = userreepository.findbyameandsex (이름, 섹스); 반환 목록; }}//사용자
package com.example.myproject.domain; import javax.persistence.*;/*** Lenovo가 2017/4/19에 작성했습니다. */ @entityPublic 클래스 사용자 {@id @generatedValue () 개인 정수 ID; @Column 개인 문자열 이름; @column 개인 문자열 섹스; @Column 개인 정보 연령; 공개 정수 getId () {return id; } public String getName () {return name; } public void setName (문자열 이름) {this.name = 이름; } public String getSex () {return sex; } public void setsex (String sex) {this.sex = sex; } public int getage () {반환 연령; } public void 설정 (int Age) {this.age = age; }}위의 기사 Spring-Data-JPA는 추가, 삭제, 수정 및 페이지 매김 작업 방법이 내가 공유하는 모든 내용입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.