欢迎来到天天文库
浏览记录
ID:52549842
大小:537.50 KB
页数:18页
时间:2020-04-10
《JSP与javabean与jdbc的综合应用.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、JSP与Javabean综合应用目标掌握实例应用:数据库分页技术的实现项目实践体验项目——<网络通讯录>本章我们要制作一个网络通讯录,本项目有五个模块组成,分别是显示成员、添加成员、修改成员、删除成员和新用户注册。实现数据库查询分页一般有以下几种方式:使用HttpSession或有状态bean实现缓存使用Vector实现缓存使用ResultSet实现缓存使用数据库自身的功能实现Oracle,MySql数据库应用--分页实现使用HttpSession实现分页将查询结果缓存在HttpSession或有状态bean中,翻页的时候从缓存中取出一页数据显示。两个主要的缺点:用
2、户可能看到的是过期数据;如果数据量非常大时第一次查询遍历结果集会耗费很长时间,并且缓存的数据也会占用大量内存,效率明显下降。数据库应用--分页实现使用Vector实现缓存先将所有记录都select出来,然后将ResultSet中的数据都get出来,存入Vector等集合类中,再根据所需分页的大小,页数,定位到相应的位置,读取数据缺点代码的效率不高程序结构和使用的方便性上很糟糕的。比如,这种做法支持的字段类型有限,int,double,String类型还比较好处理,如果碰到Blob,Text等类型,实现起来就很麻烦了数据库应用--分页实现使用ResultSet实现缓存
3、每次翻页都查询一次数据库,从ResultSet中只取出一页数据该结果集中的指针可以随意移动实现分页需要的参数intintPageSize;//一页显示的记录数intintRowCount;//记录总数intintPageCount;//总页数intintPage;//待显示页码数据库应用--分页实现总的纪录数:sqlRst.last();//光标在最后一行intRowCount=sqlRst.getRow();//获得当前行号记算总页数intPageCount=(int)Math.ceil((float)intRowCount/(float)intPageSize)
4、;为了防止除法结果为小数的情况,先将总页码和每页显示的纪录数都转化为小数形式,那么除的结果也为小数。通过Math.ceil(float)方法将该小数转化为大于等于该小数的最小整数,这个就是最终的总页数。数据库应用--分页实现数据库应用--分页实现定位即将显示的页码中第一个纪录位置:sqlRst.absolute((intPage-1)*intPageSize+1);通过绝对定位来制定结果集中指针的位置结果集中的指针下标从1开始每页显示4条纪录intPageSize=4要显示的页码该页第一条纪录下标该页最后一条记录的下表计算公式114(1-1)*4+1=1258(2-
5、1)*4+1=53912(3-1)*4+1=9ingPage(intPage-1)*intPageSize+1实现步骤:根据条件查询所有的纪录使用rs.last()将指针移到最后一行,并应rs.getRow()获得总计录条数根据计算得到总的页数对于每页的显示再使用rs.absolute()定位到本页起始记录使用rs.next()和每页显示的纪录条数来具体的显示纪录例子:Pagination.jsp数据库应用--分页实现缺点:这种方式在某些数据库(如oracle)的JDBC实现中差不多也是需要遍历所有记录,实验证明在记录数很大时速度非常慢。重用性不好改进方法:将在JS
6、P中实现的数据库连接方法放到javabean中去实现,这样可实现代码的重用。数据库应用--分页实现例子:PageableBean.jsp看过上面三种实现方法后,对新的分页机制有了一个目标,不与具体数据库相关;尽可能做到代码重用;尽可能与原JDBC接口的使用方法保持一致;尽可能高的效率。数据库应用--分页实现体验项目——<网络通讯录>本章我们要制作一个网络通讯录,本项目有五个模块组成,分别是显示成员、添加成员、修改成员、删除成员和新用户注册。整体设计首先我们分析一下这个网络通讯录需要哪些功能:1.用户登录页,实现用户的登录功能。2.显示与登录用户相对应的通讯记录页面。
7、3.实现向通讯录中添加信息的功能。4.实现修改信息的功能。5.实现删除通讯录中的信息的功能。6.提供新用户注册的功能。通过以上分析我们可以大致分析出通讯录需要实现的功能,以及页面的整体结构。数据库设计通过以上对通讯录功能的描述可以分析出数据库至少需要两个表来保存信息,其中一个保存用户信息,这个表起名为“users”。另一个表命名为“address”,用于保存用户添加的通讯信息。总结掌握实例应用:数据库分页技术的实现项目实践理论作业1、实现数据库查询分页一般有几种方式,分别简单介绍?2、JSP与SERVLET的区别3、JSP的内置对象由什么得到的下次课预习Web应
此文档下载收益归作者所有