溫馨提示×

java中ssm怎樣實現分頁查詢

小樊
125
2024-09-28 21:32:44
欄目: 編程語言

在Java的SSM(Spring + Spring MVC + MyBatis)框架中,實現分頁查詢可以通過以下步驟來完成:

  1. 創建分頁查詢的SQL語句

在MyBatis的Mapper XML文件中,編寫分頁查詢的SQL語句。例如,對于一個名為User的表,可以創建如下分頁查詢的SQL語句:

<select id="selectPage" parameterType="map" resultMap="BaseResultMap">
    SELECT * FROM user
    LIMIT #{offset}, #{pageSize}
</select>

其中,#{offset}表示查詢的起始位置,#{pageSize}表示每頁顯示的記錄數。

  1. 創建分頁參數對象

創建一個分頁參數對象,用于接收前端傳遞的分頁信息。例如,創建一個名為PageParam的Java類:

public class PageParam {
    private int pageNum; // 當前頁
    private int pageSize; // 每頁顯示的記錄數

    // getter and setter methods
}
  1. 修改Mapper接口

在Mapper接口中,添加一個分頁查詢的方法,接收分頁參數對象作為參數。例如:

public interface UserMapper {
    List<User> selectPage(PageParam pageParam);
}
  1. 在Service層調用Mapper方法

在Service層,注入Mapper接口,并調用分頁查詢的方法。例如:

@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;

    public List<User> selectPage(PageParam pageParam) {
        return userMapper.selectPage(pageParam);
    }
}
  1. 在Controller層接收分頁參數并調用Service方法

在Controller層,接收前端傳遞的分頁信息,并調用Service層的分頁查詢方法。例如:

@Controller
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping("/selectPage")
    public String selectPage(PageParam pageParam, Model model) {
        List<User> userList = userService.selectPage(pageParam);
        model.addAttribute("userList", userList);
        model.addAttribute("pageParam", pageParam);
        return "userList";
    }
}
  1. 在前端頁面顯示分頁信息

在前端頁面,使用分頁組件(如Bootstrap的pagination插件)顯示分頁信息,并添加點擊分頁按鈕時發送分頁請求的邏輯。例如,使用Thymeleaf模板引擎:

<div class="user-list">
    <table>
        <!-- 顯示用戶列表 -->
    </table>
</div>

<div class="pagination">
    <span th:text="${pageParam.pageNum}"></span>
    <a th:href="@{/selectPage(pageNum=${pageParam.pageNum} - 1, pageSize=${pageParam.pageSize})}">上一頁</a>
    <span th:text="${pageParam.pageNum * pageParam.pageSize} - ${pageParam.pageSize}">共${pageParam.totalCount}條,當前第${pageParam.pageNum}頁</span>
    <a th:href="@{/selectPage(pageNum=${pageParam.pageNum} + 1, pageSize=${pageParam.pageSize})}">下一頁</a>
</div>

通過以上步驟,就可以實現基于SSM框架的分頁查詢功能。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女