JDBC之分页--事务

一、大数据的分页显示
1、内存分页:不建议使用




2、数据库分页
分页语句:不同数据库不同
MySql:
limit M,N
M:开始记录的索引,从0开始
N:每页显示的条数


每页显示10条记录,取第1页
select * from customer limit 0,10
第2页
select * from customer limit 10,10
第3页
select * from customer limit 20,10


开始记录的索引=(页码-1)*每页显示的记录数


二、改造
1、增加Page类:所有分页有关的都找此类
2、改造Dao:
取分页数据
获取总记录数
3、改造Service
Page findPageRecords(String pageNum)
4、改造页面




三、使用公共代码:Page.java  page.jsp
1、Dao:取分页数据
获取总记录数
List<Customer> findPageRecords(int startIndex,int pageSize);
int findTotalRecords();
2、Service:
Page findPageRecords(String pageNum)
3、Servlet:
传入一个请求参数:名为pageNum。用户想看的页码
数据调用service,得到Page对象。
page.setUrl(request.getServletPath());
4、JSP中静态包含page.jsp




四、Connection中与事务有关的方法:
conn.setAutoCommit(false):开启事务。关闭事务的自动行为
conn.rollback():回滚
conn.commit():提交


五、事务的隔离级别
如果不考虑,多线程环境下开启的事务隔离性问题,会显现以下不正确的结果:
1、脏读:A事务读到了B事务未提交的数据
2、不可重复读:A事务前后读取到的同一条数据不一致。
3、虚读:A事务读到了B事务插入的新记录。


隔离级别四种:
1、READ UNCOMMITTED:脏读、不可重复读、虚读都不能避免。
2、READ COMMITTED:避免脏读;不可重复读、虚读有可能发生。
3、REPEATABLE READ:避免脏读、不可重复读;虚读有可能发生。
4、SERIALIZABLE:避免脏读、不可重复读、虚读。











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值