资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Jsp,数据库编程(例子,6-9,),Java,辅助类:留言板(例子,5-4,),例子,7-9,:分页显示效果图,int,pageSize,=0;,int,pageAllCount,=0;,int,showPage,=0;,StringBuffer,presentPageResult,;,CachedRowSetImpl,rowSet,;,Get,函数,set,函数,Get,函数,Get,函数,Set,函数,Get,函数,字符串转换函数,showResult,函数 被,getPresentPageResult,调用,构造函数,例子,7-9,javabean,package,ch7.ch7_9;,import,java.sql,.*;,import,com.sun.rowset,.*;,public,class,showbypageBean,int,pageSize,=0;,int,pageAllCount,=0;,int,showPage,=0;,StringBuffer,presentPageResult,;,CachedRowSetImpl,rowSet,;,public,showbypageBean,(),presentPageResult,=,new,StringBuffer,();,try,Class.,forName,(com.microsoft.sqlserver.jdbc.SQLServerDriver,);,catch,(Exception e),五个属性,页面尺寸:一页的记录数,总页数,当前显示的页码,当前页的所有记录,记录集?,1,、构造方法中指定数据库驱动,public,String,getString(String,str,),String s=,str.trim,();,try,byte,bb=,s.getBytes,();,s=,new,String(bb,);,catch,(Exception e),return,s;,public,int,getPageSize,(),return,pageSize,;,2,、将字符串转换为中文的函数,3,、取得页面大小(一页显示的记录数),public void,setPageSize(int,size),pageSize,=size;,String,url,=jdbc:sqlserver:/localhost:1433;databaseName=,javaTeach,;,try,System.,out,.println(url,);,String,userid,=,sa,;,String,userpwd,=123;,Connection,conn,=,DriverManager.,getConnection,(url,userid,userpwd,);,Statement stmt=,conn.createStatement,(,ResultSet.,TYPE_SCROLL_SENSITIVE,ResultSet.,CONCUR_READ_ONLY,);,ResultSet,rs,=,stmt.executeQuery(select,*from book);,rowSet,=new,CachedRowSetImpl,();,rowSet.populate(rs,);,stmt.close,();,conn.close,();,rowSet.last,();,int,m=,rowSet.getRow,();,int,n=,pageSize,;,pageAllCount,=(,m%n,=0)?(m/n):(m/n+1);,catch(Exception e),4,、设置页面大小,连接数据库,取出,book,表中记录,放在,rs,中,将,rs,转换格式放在,rowSet,对象中,取出,rowSet,的行数,计算得到总页数,public,int,getPageAllCount,(),return,pageAllCount,;,public,int,getShowPage,(),return,showPage,;,public,void,setShowPage(,int,showPage,),this,.showPage,=,showPage,;,public,StringBuffer,getPresentPageResult,(),if,(,showPage,pageAllCount,),showPage,=,pageAllCount,;,if,(,showPage,=0),showPage,=1;,presentPageResult,=,showRecord(showPage,);,return,presentPageResult,;,6,、取得当前显示的页码,7,、设置当前显示的页码,5,、取得总页数,8,、取得当前页的所有记录,教材中是反过来的,请改正,public,StringBuffer,showRecord,(,int,page),StringBuffer,showMessage,=,new,StringBuffer,();,showMessage.append,();,showMessage.append,();,showMessage.append,(,书号,);,showMessage.append,(,书名,);,showMessage.append,(,作者,);,showMessage.append,(,出版社,);,showMessage.append,(,单价,);,showMessage.append,();,try,rowSet.absolute(page-1)*pageSize+1);,for,(,int,i=1;i=,pageSize;i,+),showMessage.append,();,showMessage.append,(+rowSet.getString(1)+);,showMessage.append,(+rowSet.getString(2)+);,showMessage.append,(+rowSet.getString(3)+);,showMessage.append,(+rowSet.getString(4)+);,showMessage.append,(+rowSet.getString(5)+);,showMessage.append,();,rowSet.next,();,catch,(,SQLException,exp),showMessage.append,();,return,showMessage,;,9,、显示某页的页码,例子,7-9,Insert title here,共有,页,每页最多显示,条记录,当前显示第,页,重要,单击“上一页”或“下一页”按钮查看记录,重要,留言板例子,5-4,反思 数组的缺点,长度固定,Int,a=new int5;,String b=new String10;,里面只能保存一种类型,A,数组中只能放整型,B,数组中只能放字符串类型,import,java.util.ArrayList;,public,class,demo1,public,static,void,main(String args),ArrayList list1 =,new,ArrayList();,list1.add(,new,String(aa);,list1.add(9);,list1.add(c);,list1.add(,new,Integer(900);,for,(,int,i=0;ilist1.size();i+),System.,out,.println(list1.get(i);,System.,out,.println(list1);,新的知识:泛型,ArrayList,(动态数组),客服数组的两大缺点:,长度不固定,可以 随时添加,可以添加不同类型的数据,输出为:,1:,引入,ArrayList,类,2:,申明,ArrayList,类的对象,List1,3:,添加各种类型数据到,List1,4:,用循环取出,List1,各个数据打印,5:,用打印语句直接打印,list1,对象内容,aa,9,c,900,aa,9,c,900,1,固定对象的泛型类,import,java.util.ArrayList,;,public,class,demo2,public,static,void,main(String,args,),ArrayList,list1 =,new,ArrayList,();,list1.add(,new,String(aa,);,list1.add(,ddooo,);,list1.add(-);,list1.add(,new,String(34);,for,(String me:list1),System.,out,.println(me,);,输出为,ArrayList,特有的循环语法,2,aa,ddooo,-,34,例子,5-4,的原型,public,class,message,String title;,String author;,String mess;,public,String,getTitle,(),return,title;,public,void,setTitle(String,title),this,.title,=title;,public,String,getAuthor,(),return,author;,public,void,setAuthor(String,author),this,.author,=author;,public,String,getMess,(),return,mess;,public,void,setMess(String,mess),this,.mess,=mess;,public,message(String,title,String author,String mess),this,.title,=title;,this,.author,=author;,this,.mess,=mess;,import,java.util.ArrayList,;,public,class,demo3,public,static,void,main(String,args,),ArrayList,list1=,new,ArrayList,();,list1.add(,new,message(,天气?,a,今天下雨了吗?,);,list1.add(,new,message(,功课?,b,今天,java,作业是什么?,);,for,(message me:list1),System.,out,.println(me.getTitle,();,System.,out,.println(me.getAuthor,();,System.,out,.println(me.getMess,();,天气?,a,今天下雨了吗?,功课?,b,今天,java,作业是什么?,demo3.java,输出:,3,运行例子,5-4,看效果,请大家自己分析例子,5-4,的代码,新的知识:泛型类,ArrayList,使用,Student,类定义一个对象,Student a=new Student();,使用,message,类定义一个对象的数组,ArrayList,messList,=,new,ArrayList,();,定义和使用泛型类,ArrayList,1,、,Array List,messList,=,new,ArrayList,();,2,、,message,mtemp,=new message();,messList.add(mtemp,);,3,、,for(message,me:messList,),/,对,me,对象调用方法,package
展开阅读全文