JpaRepository 簡單條件查詢
JpaRepository繼承自PagingAndSortingRepository介面,JpaRepository基於JPA的Repository介面,極大減少了JPA作為資料訪問的程式碼,JpaRepository是實現Spring Data JPA技術訪問資料庫的關鍵介面。
示例:簡單條件查詢
建立持久化類
程式清單:/jpa/src/main/java/com/dwx/bean/User.java
package com.dwx.bean; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name="t_user") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer userId; private String userName; private String sex; private Integer age; public User() {} public User(String userName,String sex,Integer age) { this.userName=userName; this.sex=sex; this.age=age; } public Integer getUserId() { return userId; } public void setUserId(Integer userId) { this.userId = userId; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }
定義資料訪問層介面
程式清單:/jpa/src/main/java/com/dwx/repository/UserRepository.java
package com.dwx.repository; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; import com.dwx.bean.User; public interface UserRepository extends JpaRepository<User, Integer> { User findByUserName(String userName); List<User> findByUserNameAndAge(String userName,Integer age); List<User> findByUserNameLike(String userName); }
定義業務層類
程式清單:/jpa/src/main/java/com/dwx/service/UserService.java
package com.dwx.service; import java.util.List; import javax.annotation.Resource; import javax.transaction.Transactional; import org.springframework.stereotype.Service; import com.dwx.bean.User; import com.dwx.repository.UserRepository; @Service public class UserService { @Resource private UserRepository userRepository; @Transactional public void saveAll(List<User> users) { userRepository.saveAll(users); } public User getUserByUserName(String userName) { return userRepository.findByUserName(userName); } public List<User> getUserByUserNameAndAge(String userName,Integer age){ return userRepository.findByUserNameAndAge(userName, age); } public List<User> getUserByUserNameLike(String userName){ return userRepository.findByUserNameLike(userName); } }
定義控制器類
程式清單:/jpa/src/main/java/com/dwx/controller/UserController.java
package com.dwx.controller;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.dwx.bean.User;
import com.dwx.service.UserService;
@RestController
@RequestMapping("/user")
public class UserController {
@Resource
private UserService userService;
@RequestMapping("/save")
public String save() {
User user1=new User("john","男",25);
User user2=new User("lucy","女",18);
User user3=new User("Tom","男",16);
List<User> users=new ArrayList<>();
users.add(user1);
users.add(user2);
users.add(user3);
userService.saveAll(users);
return "儲存成功";
}
@RequestMapping("/userName")
public User getByUserName(String userName){
return userService.getUserByUserName(userName);
}
@RequestMapping("/userNameAndAge")
public List<User> getByUserNameAndAge(String userName,Integer age){
return userService.getUserByUserNameAndAge(userName, age);
}
@RequestMapping("/userNameLike")
public List<User> getByUserNameLike(String userName){
return userService.getUserByUserNameLike(userName);
}
}
測試應用
新增使用者資訊,在瀏覽器中輸入以下地址:http://localhost:8080/user/save
根據姓名和年齡查詢,在瀏覽器中輸入以下地址:http://localhost:8080/user/userNameAndAge?userName=john&age=25
根據姓名模糊查詢,在瀏覽器中輸入以下地址:http://localhost:8080/user/userNameLike?userName=jack
覺得挺好收藏一下
---------------------
作者:雲淡風輕58
來源:CSDN
原文:https://blog.csdn.net/dwenxue/article/details/82876201
版權宣告:本文為博主原創文章,轉載請附上博文連結!