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

溫馨提示×

jdbctemplate分頁怎樣實現動態查詢

小樊
106
2024-07-17 05:19:44
欄目: 編程語言

在使用JdbcTemplate進行動態查詢時,可以結合使用JdbcTemplate的query方法和RowMapper接口,以及SQL語句中的LIMIT和OFFSET實現分頁功能。以下是一個示例代碼:

public List<User> findUsers(int pageSize, int pageNumber, String username) {
    String sql = "SELECT * FROM users WHERE 1=1 ";
    List<Object> params = new ArrayList<>();
    
    if(username != null && !username.isEmpty()) {
        sql += "AND username = ? ";
        params.add(username);
    }
    
    sql += "LIMIT ? OFFSET ?";
    params.add(pageSize);
    params.add(pageSize * (pageNumber - 1));
    
    return jdbcTemplate.query(sql, params.toArray(), new RowMapper<User>() {
        @Override
        public User mapRow(ResultSet rs, int rowNum) throws SQLException {
            User user = new User();
            user.setId(rs.getInt("id"));
            user.setUsername(rs.getString("username"));
            user.setEmail(rs.getString("email"));
            return user;
        }
    });
}

在上述示例中,我們首先構建了動態查詢的SQL語句,并根據傳入的參數動態拼接條件。然后通過調用JdbcTemplate的query方法執行SQL查詢,并使用RowMapper接口將查詢結果映射為實體對象。最后返回查詢結果作為分頁數據。

需要注意的是,pageSize表示每頁顯示的記錄數,pageNumber表示當前頁數,username為查詢條件。OFFSET表示從第幾條記錄開始,LIMIT表示查詢多少條記錄。

當調用findUsers方法時,傳入相應的參數即可實現動態查詢。

0
阿拉善右旗| 满洲里市| 瑞丽市| 林州市| 商城县| 古蔺县| 澄城县| 彭泽县| 白城市| 凤城市| 永寿县| 柳河县| 泸州市| 屯门区| 平度市| 綦江县| 鄂伦春自治旗| 鹤庆县| 厦门市| 河源市| 北安市| 黄山市| 安远县| 枞阳县| 界首市| 龙岩市| 大港区| 苏尼特左旗| 侯马市| 榆社县| 沙河市| 陈巴尔虎旗| 鸡泽县| 九寨沟县| 仪陇县| 尤溪县| 文安县| 区。| 天全县| 阿巴嘎旗| 铜梁县|