91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
阿图什市| 龙里县| 富源县| 耒阳市| 河北区| 清徐县| 南投市| 资中县| 若尔盖县| 定日县| 姜堰市| 娄烦县| 廉江市| 乌鲁木齐县| 原平市| 陆河县| 屯门区| 交城县| 怀宁县| 广东省| 仁布县| 秦安县| 报价| 虎林市| 金湖县| 德保县| 安阳市| 广汉市| 柘城县| 锡林郭勒盟| 湘潭县| 芜湖县| 香河县| 措美县| 祁东县| 翼城县| 浦北县| 闻喜县| 沅陵县| 扎鲁特旗| 阳春市|