亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

java pageable的最佳實踐案例

小樊
83
2024-09-07 00:33:45
欄目: 編程語言

在Java中,Pageable接口通常用于處理分頁數據

  1. 創建一個實體類(Entity):
@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private String email;
    // Getters and Setters, Constructors
}
  1. 創建一個Repository接口,繼承JpaRepositoryJpaSpecificationExecutor
public interface UserRepository extends JpaRepository<User, Long>, JpaSpecificationExecutor<User> {
}
  1. 創建一個Service類,用于處理業務邏輯:
@Service
public class UserService {
    @Autowired
    private UserRepository userRepository;

    public Page<User> findAllUsers(Pageable pageable) {
        return userRepository.findAll(pageable);
    }

    public Page<User> findUsersByName(String name, Pageable pageable) {
        Specification<User> specification = (root, query, criteriaBuilder) ->
                criteriaBuilder.equal(root.get("name"), name);
        return userRepository.findAll(specification, pageable);
    }
}
  1. 創建一個Controller類,用于處理HTTP請求:
@RestController
@RequestMapping("/users")
public class UserController {
    @Autowired
    private UserService userService;

    @GetMapping
    public ResponseEntity<Page<User>> getAllUsers(
            @RequestParam(defaultValue = "0") int page,
            @RequestParam(defaultValue = "10") int size) {
        Pageable pageable = PageRequest.of(page, size);
        Page<User> users = userService.findAllUsers(pageable);
        return ResponseEntity.ok(users);
    }

    @GetMapping("/search")
    public ResponseEntity<Page<User>> searchUsersByName(
            @RequestParam String name,
            @RequestParam(defaultValue = "0") int page,
            @RequestParam(defaultValue = "10") int size) {
        Pageable pageable = PageRequest.of(page, size);
        Page<User> users = userService.findUsersByName(name, pageable);
        return ResponseEntity.ok(users);
    }
}

在這個例子中,我們創建了一個簡單的用戶管理系統,包括實體類、Repository接口、Service類和Controller類。我們使用Pageable接口處理分頁數據,并通過PageRequest.of()方法創建Pageable對象。在Controller類中,我們使用@RequestParam注解獲取分頁參數,并將其傳遞給Service方法。這是一個典型的Java分頁實踐案例。

0
罗定市| 固镇县| 凤山市| 襄樊市| 墨竹工卡县| 甘洛县| 贵州省| 常德市| 阳高县| 手机| 宁明县| 威远县| 壤塘县| 成武县| 赞皇县| 石渠县| 女性| 黄冈市| 平谷区| 临朐县| 四子王旗| 铜梁县| 定结县| 阿合奇县| 古交市| 东源县| 普定县| 高要市| 乡城县| 蒙阴县| 乾安县| 阜平县| 卓尼县| 丰都县| 新昌县| 休宁县| 北票市| 塔城市| 子洲县| 铁力市| 平阳县|