三大数据库分页功能JDBC实现操作

本文详细介绍了如何使用JDBC分别在Oracle、Sql Server和Mysql数据库中实现分页功能,包括分页原理、数据库连接工具类和数据访问实现类的代码示例。对于Sql Server分页查询时遇到的'@P0'附近有语法错误的问题,提出了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最终运行效果

JDBC基础知识

如果童鞋们对JDBC基础知识不够熟练,可以看看这篇文章脑补一下。

https://blog.youkuaiyun.com/qq_43674132/article/details/95171884

数据库表结构定义(以Oracle数据库为例)

---学生表
CREATE TABLE Student(    
SNO VARCHAR2(7) PRIMARY  KEY,
Sname VARCHAR2(18),
SSex CHAR(3),
Sage SMALLINT,
Sdept VARCHAR2(50)
);
---课程表
CREATE TABLE Course(
Cno VARCHAR2(4) PRIMARY KEY,
Cname VARCHAR2(50),
Cpno VARCHAR2(4),--前导课
Ccredit NUMBER(2,0)
);
---选课表
CREATE TABLE SC(
Sno VARCHAR2(7),
Cno VARCHAR2(4),
Grade NUMBER(3,0),
PRIMARY KEY(Sno,Cno),
FOREIGN KEY (Sno) REFERENCES  Student(Sno),
FOREIGN KEY (Cno) REFERENCES  Course(Cno)
);
测试数据:

insert into student(sno,sname,ssex,sage,sdept) values('9512101','李勇','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512102','刘晨','男',20,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512103','王敏','女',20,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9521101','张立','男',22,'信息系');
insert into student(sno,sname,ssex,sage,sdept) values('9521102','吴宾','女',21,'信息系');
insert into student(sno,sname,ssex,sage,sdept) values('9521103','张海','男',20,'信息系');
insert into student(sno,sname,ssex,sage,sdept) values('9531101','钱小平','女',18,'数学系');
insert into student(sno,sname,ssex,sage,sdept) values('9531102','王大力','男',19,'数学系');
insert into student(sno,sname,ssex,sage,sdept) values('9512104','张健','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512105','张齐朴','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512106','何世焱','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512107','乔勇','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512108','余天璞','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512109','郑德祥','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512110','沈忱','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512111','杜达林','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512112','方科','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512113','崔昌瑞','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512114','蔡基利','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512115','陈礼锐','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512116','刘大伟','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512117','杨宝宏','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512118','陈立淦','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512119','肖克','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512120','郭清吉','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512121','代磊','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512122','刘斌龙','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512123','陈少鹏','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512124','张嘉伟','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512125','李博古','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512126','金力','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512127','张景峰','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512128','张仁涛','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512129','裴晓斌','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512130','李成','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512131','王龙','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512132','史成林','男',19,'计算机系');
insert into student(sno,sname,ssex,sage,sdept) values('9512133','刘其辉','男',19,'计算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值