Есть несколько ловушек, на которые нужно обратить внимание на:
При реализации операции удаления вы должны добавить ее в каждый уровень класса.
@Transactional
Комментарий, иначе вы будете продолжать сообщать об ошибках
Когда вы используете @Query для определения операций, вы столкнетесь с ошибкой от компилятора. В настоящее время вам нужно только отключить синтаксис -проверку QL.
Вот несколько кодов:
// Репозиторий
пакет com.example.myproject.dao; import com.example.myproject.domain.user; import org.springframework.data.domain.page; импорт org.springframework.data.domain.pagable; импорт org.sprimework.data.jpa.RepoSitory.JPARPOSITOR; org.springframework.data.jpa.repository.modifying; импорт org.springframework.data.jpa.repository.query; импорт org.springframework.data.repository.query.param; импорт javax.transaction. 2017/4/19. */@TransactionAlpublic Interface userRepository Extends jParePository <user, long> {void deleteByid (int id); void deleteByname (String name); void deletebysex (строковый секс); void deletebyage (int ровь); void removeBynaindAge (название строки, int age); @Modifying @Query (value = "Обновление пользователя u set u.name =: newName, где u.name =: oldname", nativequery = true) void updateNamebyname (@param ("oldname") string oldname, @param ("newname") string newname); Список <user> findall (); Page <пользователь> findall (переночный трюм); Список <user> findbyName (string name); Список <user> findbysex (строковый секс); Список <user> findbyage (int age); Пользователь FindBynameAndsex (String name, String Sex);}// контроллер
пакет com.example.myproject.web; import com.example.myproject.dao.userrepository; Import com.example.myproject.domain.user; Импорт org.springframework.beans.factory.annotation.autowired; импорт org.springframework.data.domain.pagerequest; Импорт org.springframework.data.domain.pagable; Импорт org.springframework.data.domain.sort; Импорт org.springframework.web.bind.annotation.requestmapping; Импорт org.springframework.web.bind.annotation.requestparam; Импорт org.springframework.web.bind.annotation.restcontroller; Импорт javax.transaction.transactional; импортировать java.util.list; /*** Создано Lenovo 2017/4/19. */ @RestController @Requestmapping ("/") @Transactional Public Class USERCONTROLLER {@Autowired Private UserRepository userRepository; @Requestmapping (value = "/usersave") public String usersave (@RequestParam String name,@requestParam String Sex,@requestparam int age) {user user = new user (); user.setname (имя); user.setage (возраст); user.setsex (sex); userRepository.save (пользователь); вернуть "истин"; } @RequestMapping (value = "/deleteById") public String deleteById (@RequestParam Int Id) {userRepository.deleteByid (id); вернуть "успех"; } @RequestMapping (value = "/deleteByName") public String deleteByName (@RequestParam String name) {userRepository.deleteByName (name); вернуть "успех"; } @RequestMapping (value = "/deleteBysex") public String leleteBysex (@RequestParam String Sex) {userRepository.deleteBysex (sex); вернуть "успех"; } @RequestMapping (value = "/deleteByage") public String deleteByage (@RequestParam int age) {userRepository.deleteByage (age); вернуть "успех"; } @RequestMapping (value = "/deleteBynameandAge") public String deleteBynameAndage (@RequestParam String name, @RequestParam int age) {userRepository.removebynameAndage (name, age); вернуть "успех"; } @RequestMapping (value = "/updateNameByname") public String updateNameByname (@RequestParam String OldName, @RequestParam String newName) {userRepository.updateNamebyname (oldname, newname); вернуть "успех"; } @RequestMapping (value = "/findall") public list <user> findall () {list <user> l = userRepository.findall (); возврат L; } @RequestMapping (value = "/findallBypage") public page <user> findallBypage () {sort sort = new sort (sort.direction.asc, "id"); Пегсный слойный = новый PageRequest (2,6, Sort); Page <user> page = userRepository.findall (Pagable); вернуть страницу; } @RequestMapping (value = "/findbyName") public list <user> findByName (@RequestParam String name) {list <user> list = userRepository.findbyname (name); вернуть список; } @RequestMapping (value = "/findByage") public list <user> findByage (@RequestParam int age) {list <user> list = userRepository.findbyage (age); вернуть список; } @RequestMapping (value = "/findbySex") public list <user> findbySex (@RequestParam String Sex) {list <user> list = userRepository.findbysex (sex); вернуть список; } @RequestMapping (value = "/findBynameAndsex") Общедоступный пользователь FindBynameAndsex (@RequestParam String name, @RequestParam String Sex) {пользовательский список = userRepository.findbynameandsex (имя, секс); вернуть список; }}//Пользователь
пакет com.example.myproject.domain; импорт javax.persistence.*;/*** Создан Lenovo 2017/4/19. */ @EntityPublic Class User {@ID @GeneratedValue () Private Integer ID; @Column private String name; @Column Private String Sex; @Column private int age; public integer getId () {return id; } public String getName () {return name; } public void setName (string name) {this.name = name; } public String getSex () {return Sex; } public void setsex (строка Sex) {this.sex = sex; } public int getage () {return Age; } public void setage (int age) {this.age = age; }}Приведенная выше статья Spring-Data-JPA реализует добавление, удаление, модификацию и методы работы страниц-это все контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.