DAO包:
package org.jsoft.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.jsoft.ex.TestSingle;
import org.jsoft.vo.WeaponVO;
public class WeaponDAO {
public List<WeaponVO> search_all(){
List<WeaponVO> list = new ArrayList<WeaponVO>();
String sql="select * from weapon";
Connection con=null;
PreparedStatement pst=null;
ResultSet rs=null;
try {
con=TestSingle.getTS().getCon();
pst=con.prepareStatement(sql);
rs=pst.executeQuery();
while(rs.next()){
int wid=rs.getInt("wid");
String name=rs.getString("name");
int spead=rs.getInt("spead");
double bullet_type=rs.getDouble("bullet");
WeaponVO wv=new WeaponVO();
wv.setWid(wid);
wv.setName(name);
wv.setSpead(spead);
wv.setBullet_type(bullet_type);
list.add(wv);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
TestSingle.getTS().CloseAll(rs, pst, con);
}
return list;
}
public List<WeaponVO> search_fenye(int start,int end){
List<WeaponVO> list = new ArrayList<WeaponVO>();
String sql="select * from weapon order by wid limit ?,?";
Connection con=null;
PreparedStatement pst=null;
ResultSet rs=null;
try {
con=TestSingle.getTS().getCon();
pst=con.prepareStatement(sql);
pst.setInt(1, start);
pst.setInt(2,end);
rs=pst.executeQuery();
while(rs.next()){
int wid=rs.getInt("wid");
String name=rs.getString("name");
int spead=rs.getInt("spead");
Double bullet_type=rs.getDouble("bullet");
WeaponVO wv=new WeaponVO();
wv.setWid(wid);
wv.setName(name);
wv.setSpead(spead);
wv.setBullet_type(bullet_type);
list.add(wv);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
TestSingle.getTS().CloseAll(rs, pst, con);
}
return list;
}
}
jsp代码:
<%@page import="org.jsoft.vo.WeaponVO"%>
<%@page import="java.util.List"%>
<%@page import="org.jsoft.dao.WeaponDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%!
int total_page;
int up_page;
int down_page;
int every_page=2; //每页两条数据
int now_page;
%>
<center>
<table border="1" cellspacing="0">
<tr>
<td>编号</td>
<td>名字</td>
<td>射速</td>
<td>子弹类型</td>
</tr>
<%
WeaponDAO wd=new WeaponDAO();
List<WeaponVO> list=wd.search_all();
int total_size=list.size();
total_page=(total_size+every_page-1)/every_page;
if(total_size==0){
out.print("列表数据为空");
}else{
String now_p=request.getParameter("now_page"); //获取当前页
if(now_p!=null){ //若当前页存在
now_page=Integer.parseInt(now_p); //将String转换为int
}else{
now_page=1; //若当前页为空则为第一页
}
if(now_page==1){ //当前页为第一页,则上一页就是本页,否则上一页为当前页-1
up_page=now_page;
}else{
up_page=now_page-1;
}
if(now_page==total_page){ //当前页为最后一页,则下一页就是本页,否则下一页为当前页+1
down_page=now_page;
}else{
down_page=now_page+1;
}
String str="";
for(int i=1;i<=total_page;i++){
str+="<a href=\"fenye.jsp?now_page="+i+"\">"+i+"</a> ";
}
List<WeaponVO> list1=wd.search_fenye((now_page-1)*every_page,every_page);
for(WeaponVO wv:list1){
%>
<tr>
<td><%= wv.getWid()%></td>
<td><%= wv.getName()%></td>
<td><%= wv.getSpead()%></td>
<td><%= wv.getBullet_type()%></td>
</tr>
<%}%>
</table>
<caption>
总页为<%=total_page %> 当前页为<%=now_page %> <a href="fenye.jsp?now_page=<%=up_page%>">上一页</a><%=str%><a href="fenye.jsp?now_page=<%=down_page%>">下一页</a>
</caption>
<%} %>
</center>
</body>
</html>
效果图:
以上为本次作业