中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

spring-data-jpa如何實現增刪改查以及分頁操作

發布時間:2021-07-22 11:32:08 來源:億速云 閱讀:125 作者:小新 欄目:編程語言

小編給大家分享一下spring-data-jpa如何實現增刪改查以及分頁操作,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

有幾個坑一定要注意:

實現刪除操作的時候一定要在各層類中 增加

@Transactional

注釋,否則會一直報錯

在自己使用@Query定義操作時,會碰到編譯器報錯,這個時候只需要禁用QL的語法檢查即可

以下是部分代碼:

//Repository

package com.example.myproject.dao;
import com.example.myproject.domain.User;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import javax.transaction.Transactional;
import java.util.List;
/**
 * Created by lenovo on 2017/4/19.
 */
@Transactional
public interface UserRepository extends JpaRepository<User,Long> {

  void deleteById(int id);
  void deleteByName(String name);
  void deleteBySex(String sex);
  void deleteByAge(int age);
  void removeByNameAndAge(String name, int age);
  @Modifying
  @Query(value = "update user u set u.name = :newName where u.name = :oldName",nativeQuery = true)
  void updateNameByName(@Param("oldName") String oldName, @Param("newName") String newName);
  List<User> findAll();
  Page<User> findAll(Pageable pageable);
  List<User> findByName(String name);
  List<User> findBySex(String sex);
  List<User> findByAge(int age);
  User findByNameAndSex(String name, String sex);
}

//Controller

package com.example.myproject.web; 
 
import com.example.myproject.dao.UserRepository; 
import com.example.myproject.domain.User; 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.data.domain.Page; 
import org.springframework.data.domain.PageRequest; 
import org.springframework.data.domain.Pageable; 
import org.springframework.data.domain.Sort; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestParam; 
import org.springframework.web.bind.annotation.RestController; 
 
import javax.transaction.Transactional; 
import java.util.List; 
 
/** 
 * Created by lenovo on 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(name); 
  user.setAge(age); 
  user.setSex(sex); 
  userRepository.save(user); 
  return "true"; 
 } 
 
 @RequestMapping(value = "/deleteById") 
 public String deleteById(@RequestParam int id) { 
  userRepository.deleteById(id); 
  return "success"; 
 } 
 
 @RequestMapping(value = "/deleteByName") 
 public String deleteByName(@RequestParam String name) { 
  userRepository.deleteByName(name); 
  return "success"; 
 } 
 
 @RequestMapping(value = "/deleteBySex") 
 public String deleteBySex(@RequestParam String sex) { 
  userRepository.deleteBySex(sex); 
  return "success"; 
 } 
 
 @RequestMapping(value = "/deleteByAge") 
 public String deleteByAge(@RequestParam int age) { 
  userRepository.deleteByAge(age); 
  return "success"; 
 } 
 
 @RequestMapping(value = "/deleteByNameAndAge") 
 public String deleteByNameAndAge(@RequestParam String name, @RequestParam int age) { 
  userRepository.removeByNameAndAge(name,age); 
  return "success"; 
 } 
 
 @RequestMapping(value = "/updateNameByName") 
 public String updateNameByName(@RequestParam String oldName, @RequestParam String newName) { 
  userRepository.updateNameByName(oldName,newName); 
  return "success"; 
 } 
 
 @RequestMapping(value = "/findall") 
 public List<User> findAll() { 
  List<User> l =userRepository.findAll(); 
  return l; 
 } 
 
 @RequestMapping(value = "/findallByPage") 
 public Page<User> findAllByPage() { 
  Sort sort = new Sort(Sort.Direction.ASC,"id"); 
  Pageable pageable = new PageRequest(2,6,sort); 
  Page<User> page = userRepository.findAll(pageable); 
  return page; 
 } 
 
 @RequestMapping(value = "/findByName") 
 public List<User> findByName(@RequestParam String name) { 
  List<User> list =userRepository.findByName(name); 
  return list; 
 } 
 
 @RequestMapping(value = "/findByAge") 
 public List<User> findByAge(@RequestParam int age) { 
  List<User> list =userRepository.findByAge(age); 
  return list; 
 } 
 
 @RequestMapping(value = "/findBySex") 
 public List<User> findBySex(@RequestParam String sex) { 
  List<User> list =userRepository.findBySex(sex); 
  return list; 
 } 
 
 @RequestMapping(value = "/findByNameAndSex") 
 public User findByNameAndSex(@RequestParam String name, @RequestParam String sex) { 
  User list =userRepository.findByNameAndSex(name,sex); 
  return list; 
 } 
}

//User

package com.example.myproject.domain;
import javax.persistence.*;
/**
 * Created by lenovo on 2017/4/19.
 */
@Entity
public 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(String sex) {
  this.sex = sex;
 }
 public int getAge() {
  return age;
 }
 public void setAge(int age) {
  this.age = age;
 }
}

看完了這篇文章,相信你對“spring-data-jpa如何實現增刪改查以及分頁操作”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

望都县| 沾益县| 日照市| 赤城县| 包头市| 徐闻县| 客服| 巴彦淖尔市| 开鲁县| 翼城县| 瓦房店市| 新宾| 洪泽县| 穆棱市| 秦皇岛市| 榆林市| 台东县| 蓬安县| 岳阳市| 石城县| 汾阳市| 鹰潭市| 美姑县| 修水县| 华阴市| 岫岩| 连城县| 密云县| 渑池县| 荃湾区| 大丰市| 宁海县| 崇州市| 山丹县| 清苑县| 南京市| 嫩江县| 苏尼特左旗| 太康县| 榆社县| 罗山县|