• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

jdbc sqlserver 分页

mysql 搞代码 4年前 (2022-01-09) 20次浏览 已收录 0个评论

(1). top … not in , (2). top …. id( max ),(3).游标 这种方法感觉比上面三种要快 ,分享一下跟好的意见 使用的是org.springframework.jdbc.core. JdbcTemplate limit = 25; public ListMapString, Object findAll(String type, final int start, f

(1). top … not in , (2). top …. id>(max),(3).游标

这种方法感觉比上面三种要快 ,分享一下跟好的意见

使用的是 org.springframework.jdbc.core.JdbcTemplate


limit = 25;
public List<Map> findAll(String type, final int start, final int limit) {
StringBuilder builder = new StringBuilder();
List本文来源gao($daima.com搞@代@#码(网5 params = new ArrayList();//给占位符赋值
builder.append(“select top ” + (start + limit)//第一页,start=0 ()select top 25 * ,第二页 start=25 (select top 50 *)
+ ” * from v_fulldata a where 1=1″);
if (type != null && type != ” “) {
builder.append(” and a.atype = ? “);
params.add(type);
}
builder.append(” order by wg13 desc;”);

String sql = builder.toString();
List<Map> list = (List<Map>) getJdbc()
.query(sql, params.toArray(), new ResultSetExtractor() {
@Override
public Object extractData(ResultSet rs)
throws SQLException, DataAccessException {
List<Map> list = new ArrayList<Map>();
while (rs.next()) { //将查询结果循环
if (rs.getRow() < start) { //排除小于开始索引的数据
continue;
}
Map row = new HashMap();
ResultSetMetaData rsmd = rs.getMetaData();
for (int i = 1; i <= rsmd.getColumnCount(); i++) {
row.put(rsmd.getColumnName(i), rs.getString(i));
}
list.add(row);
}
return list;
}
});
return list;
}


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:jdbc sqlserver 分页
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址