java连接数据库分页问题
来源:互联网 发布:linux 压缩文件夹 gz 编辑:程序博客网 时间:2024/06/16 04:16
1.数据库 的 数据 传到 java 中 需要 做到 分页
我们来 看看 有几种 方法
---- 1. 上一页 2.下一页 3 尾页 4. 第一页
------ 第一页 第二页 第三页 第四页 第五页
——————————————————————————
实现 第一种的 做法 就是
2. 你要知道 :你有多少行
你需要知道一页上显示多少列
需要 显示第几页
@Override
// 这是 写在 实现了 接口的 那个类中的 方法
public int GetRowCount() throws SQLException {
String sql ="select count(1) cnt from product";
ResultSet rst = db.GetResultSet(sql);
int rowcount=-1;
while(rst.next()){
rowcount=rst.getInt("cnt");
}
rst.close();
db.CloseAll();
return rowcount;
}
@Override
显示第几页 显示多少 行
public List<Product> GetPageList(int currentPageNo, int pageSize)
throws SQLException {
String sql="select top "+pageSize+" * from product
where id not in (select
top "+pageSize*(currentPageNo-1)+"
id from product order by id asc ) order by id asc";
ResultSet rst = db.GetResultSet(sql);
List<Product> list=new ArrayList<Product>();
Product entity=null;
while(rst.next()){
int id=rst.getInt("id");
String name=rst.getString("name");
String unit=rst.getString("unit");
double price =rst.getDouble("price");
int count=rst.getInt("count");
entity=new Product(id, name, unit, price, count);
list.add(entity); 就是 每次 得到一个对象,就直接 放到 list 里面
}
rst.close();
db.CloseAll();
return list;
}
——————————————————————
3. 写完了 与数据库 的 连接的 部分,然后就是
view 部分
3.1首先 就是 打印 数据的部分
public static void PrintPageList(int currentPageNo,int pageSize) throws SQLException{
IProductDao dao=new ProductDaoimpl();
List<Product> list=dao.GetPageList(currentPageNo, pageSize);
System.out.println("编号\t名称\t单位\t单价\t库存数量");
for(Product m : list){
System.out.print(m.getId()+"\t");
System.out.print(m.getName()+"\t");
System.out.print(m.getUnit()+"\t");
System.out.print(m.getPrice()+"\t");
System.out.println(m.getCount()+"\t");
}
}
然后就是 实际 的操作 部分的 编写
Scanner input = new Scanner(System.in);
IProductDao dao=new ProductDaoimpl();
// 设置 参数的 部分
int pageSize=3;// 默认 的 一页显示3行
int currentPageNo=1; 默认 先显示第一页
int rowcount=dao.GetRowCount(); 获得 总行数
设置 总的 页数
int totalpage=rowcount%pageSize==0?rowcount/pageSize:rowcount/pageSize+1;
打印第一页
PrintPageList(currentPageNo,pageSize);
while(true){
System.out.println("请选择1.第一页;2.上一页;3.下一页;4.尾页");
int choice=input.nextInt();输入 你的选择
boolean flag=false;
switch(choice){
case 1:
currentPageNo=1;
PrintPageList(currentPageNo,pageSize);
break;
case 2: 选择的 上一页, 必须 当前页面不在 第一页
if(currentPageNo>1){
currentPageNo=currentPageNo-1;
}
PrintPageList(currentPageNo,pageSize);
break;
case 3:
if(currentPageNo<totalpage){
currentPageNo=currentPageNo+1;
}
PrintPageList(currentPageNo,pageSize);
break;
case 4:
currentPageNo=totalpage;
PrintPageList(currentPageNo,pageSize);
break;
default:
flag=true;
break;
}
if(flag){
System.out.println("选择了退出操作。。。");
break;
}
}
大概 的情况就是这样
- java连接数据库分页问题
- 连接mysql数据库之后的“分页”问题
- java连接数据库问题
- java连接数据库的问题
- jsp连接数据库分页显示
- JAVA连接数据库不用设数据源问题
- 用JAVA连接ORACLE数据库的问题
- JAVA连接到数据库中文乱码问题
- JAVA连接oracle数据库ClassNotFoundException的问题
- 学习笔记-Java连接数据库问题
- java连接数据库问题 求解答
- java连接数据库的一个问题
- java连接数据库,超出内存问题。
- java web 用tomcat连接数据库问题
- java连接PostgreSQL数据库出现问题
- 连接DB2数据库问题:java.lang.NoClassDefFoundError
- Java 连接JDBC MySQL数据库问题
- sqlserver数据库分页问题
- 推荐常用算法
- c++ 依赖参数的函数查找
- Android FragmentTabhost实现选项卡
- AngularJs-$parsers自我理解-解析
- Java 中的进程与线程(写得太棒了)
- java连接数据库分页问题
- Activity四种启动模式的利用场景
- 测试你的Content Provider
- 优先队列priority_queue的使用方法
- tomcat启动startup.bat一闪而过
- 关于安装discuz之类应用在linux上改了读写权限仍无法写入的解决方案
- Unity3d热更新全书-资源加载(一):从AssetBundle说起
- iOS学习之—— NSDateComponents
- android 自定义控件全系列导航