引用
package day03;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import tarena.util.DBUtil;
public class JDBCTest2 {
public static void main(String[] args) throws Exception {
test2(7000,10);
}
static void test2(int page, int pageSize) throws Exception {
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
con = DBUtil.openInThread();
page = page < 1?1:page;
int start = (page-1) * pageSize + 1;
int end = start + pageSize;
// [start, end)
pstmt = con.prepareStatement(
"select * from " +
"(select t.*, rownum r from " +
"(select * from s_emp) t) " +
"where r >=? and r<?");
pstmt.setInt(1, start);
pstmt.setInt(2, end);
rs = pstmt.executeQuery();
while(rs.next()) {
System.out.println(rs.getString("first_name"));
}
} finally {
DBUtil.close(null, pstmt, rs);
DBUtil.closeInThread();
}
}
static void test1(int page, int pageSize) throws Exception {
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try {
con = DBUtil.openInThread();
stmt = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(
"select * from s_emp");
page = page < 1?1:page;
int start = (page-1) * pageSize + 1;
// 定位,返回值表示指针位置是否有数据
boolean hasRow = rs.absolute(start);
// 如果指针指向没有数据的位置,不能取数据
if(!hasRow || rs.isBeforeFirst() || rs.isAfterLast()) {
System.out.println("指针位置无数据");
return;
}
// 从此位置向后取出pageSize条数据
for(int i=0;i<pageSize;i++) {
System.out.println(rs.getString("first_name"));
if(! rs.next()) { // 如果剩余数据不足,结束
break;
}
}
} finally {
DBUtil.close(null, stmt, rs);
DBUtil.closeInThread();
}
}
}
service类
package day03;
import java.util.ArrayList;
import java.util.List;
import day02.Emp;
public class EmpService {
public void save(Emp emp) throws Exception {
}
public void delete(Emp emp) throws Exception {
}
public void update(Emp emp) throws Exception {
// update s_emp set .... where id=?
}
public Emp findById(int id) throws Exception {
return null;
}
public List<Emp> findAll() throws Exception {
List<Emp> list = new ArrayList<Emp>();
/*rs = 执行查询;
while(rs.next()) {
从rs中一个数据一个数据的取出
新建Emp对象
将数据放入Emp对象
Emp对象放入list
}*/
return list;
}
public List<Emp> findAll(int page, int pageSize) throws Exception {
return null;
}
public int findMaxPage(int pageSize) throws Exception {
return 0;
}
}
分享到:
相关推荐
结合mysql数据库查询,实现分页效果 @user.route("/user_list",methods=['POST','GET']) def user_list(): p = g.args.get("p", '') #页数 show_shouye_status = 0 #显示首页状态 if p =='': p=1 else: p=int...
使用Spring的JdbcTemplate实现分页功能
Jsp中利用JavaBean技术实现分页功能 Jsp中利用JavaBean技术实现分页功能
如何用JSTL实现分页 如何用JSTL实现分页 如何用JSTL实现分页 如何用JSTL实现分页 如何用JSTL实现分页
实现分页功能,实现首页,下一页,上一页,末页的功能
mysql存储过程实现分页 mysql存储过程实现分页 mysql存储过程实现分页 mysql存储过程实现分页
统一实现分页接口统一
LINQ To SQL实现分页效果源码 VS2008 Frameworks3.5 LINQ To SQL 实现分页效果 数据库SQL 2005
本篇文章主要介绍了nodejs mysql 实现分页的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
js实现分页效果
oracle+jsp实现分页
该资源使用struts实现分页功能,是通过Action实现中枢的作用
基于tp5的vue+element-ui 实现分页基于tp5的vue+element-ui 实现分页
Struts+Hibernate实现分页.
框架整合SSH实现分页
Ajax实现分页查询
Android,自定义RecyclerView,实现分页效果。利用此资源,可以灵活改变页宽、触发翻页的条件等。
mysql+spring mvc 实现分页,可以实现增加修改删除等操作
Repeater控件实现分页代码,很简单,很漂亮。
基于Jquery+Ajax+Json实现分页显示附效果图