Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2521
  • 博文数量: 3
  • 博客积分: 120
  • 博客等级: 入伍新兵
  • 技术积分: 40
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-15 15:15
文章分类
文章存档

2010年(3)

我的朋友
最近访客

分类: 系统运维

2010-04-15 15:22:27

 


通过jsp(SUN企业级应用的首选)程序获得database里的数据,然后通过程序控制其显示方式,这种方式明显缺点是如果数据量比较大的时候会有明显的性能下降
    现将测试代码奉上,尽管我尽量限制代码的长度

    先说下开发步骤;DB脚本,测试获得的数据是否正确的显示在一个table中,添加那些该显示那些不该显示,添加了首叶上叶下叶尾叶的功能,添加当前位置标签比如4/5,添加直接跳转到某页的功能,处理掉一些bug。。

1。先写数据库端测试脚本:

--删除表
drop table person;

--建立表
create table person (
 id int auto_increment not null Prima(最完善的虚拟主机管理系统)ry key ,
 uid  varchar(32),
 name varchar(32),
 password varchar(20)
);
--插入数据?不支持中文,必须指定表内投影,插入多于30条记录用于测试分页
insert into person(uid,name,password) values('uid1','testname','123456');
insert into person(uid,name,password) values('uid1','testname','123456');
insert into person(uid,name,password) values('uid1','testname','123456');
insert into person(uid,name,password) values('uid1','testname','123456');
insert into person(uid,name,password) values('uid1','testname','123456');
insert into person(uid,name,password) values('uid1','testname','123456');
insert into person(uid,name,password) values('uid1','testname','123456');
insert into person(uid,name,password) values('uid1','testname','123456');
insert into person(uid,name,password) values('uid1','testname','123456');
--事务提交

2。整个程序部分。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
< import="java.sql.*"%>


    jsp(SUN企业级应用的首选)通过程序来控制分页
   


    
      <%
        int pageSize = 10 ;
        int currentPage = 1 ;

        int allRecorder = 0 ;
        int pageNumber  ;

        try {
            currentPage = Integer.parseInt(request.getParameter("cp"))  ;
        } catch(Exception ex ) {
          
        }
        //关于数据库连接部分的处理根据自己的数据库来指定
        final String DBDriver = "org.gjt.mm.MySQL(和PHP搭配之最佳组合).Driver";
  final String DbUrl = "jdbc:MySQL(和PHP搭配之最佳组合)://localhost/test";
  final String DBUser = "root";
  final String DBPSW = "root";
  Connection conn = null;
  try {
   Class.forName(DBDriver);
   conn = DriverManager.getConnection(DbUrl,DBUser,DBPSW);
            String sql = "select count(id) from person";
            PreparedStatement pst = conn.prepareStatement(sql);
            ResultSet rs = pst.executeQuery();
            if(rs.next()) {
                  allRecorder = rs.getInt(1);
            }
            pageNumber = (allRecorder+pageSize-1)/pageSize ; //得到尾页数
            rs.close();
            pst.close();

            sql = "select id,uid,name,password from person";
            pst = conn.prepareStatement(sql);
            rs = pst.executeQuery();
      %>
     


          />
          />
          />
          />
          <%=currentPage%>/<%=pageNumber%>
         
         
     

     
 
  
  
  
  
  
 
  <%
        for(int temp = 0;temp            rs.next();   //需要空出去部分代码不显示      
        }

        boolean hasData = false;
        for(int temp=0 ;temp            if(rs.next()) {
                hasData = true ;
        %>
               


               
               
               
               
               
               
               
  <%
      }
        }
            if(!hasData) {%>
     
  <%
  }
  %>
     
编号登陆名称姓名密码操作
<%=rs.getInt(1)%><%=rs.getString(2)%><%=rs.getString(3)%><%=rs.getString(4)%>修改删除
数据不存在

      <%
            rs.close();
         pst.close();
      conn.close();
     }catch(Exception ex) {
    out.print("数据错误");
   }
      %>


阅读(208) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:CSS常用技巧介绍

给主人留下些什么吧!~~