easyui实现分页

一、介绍

二、实例


1、准备工作:

首先导入相应包:


这里需要导入themes和jquery.easyui.min.js,为保证层次关系和互相调用直接拷贝过来即可。

接着创建一个easyui需要的实体类,字段为rows和total。这里用泛型封装了一下:

package com.ifytek.domain;

import java.util.ArrayList;

public class Pager<T> {
	private int total;
	private ArrayList<T> rows;

	public int getTotal() {
		return total;
	}

	public void setTotal(int total) {
		this.total = total;
	}

	public ArrayList<T> getRows() {
		return rows;
	}

	public void setRows(ArrayList<T> rows) {
		this.rows = rows;
	}

}



2、前台:

<%@ 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>
<link rel="stylesheet" type="text/css" href="assets/themes/default/easyui.css">
	<link rel="stylesheet" type="text/css" href="assets/themes/icon.css">
	
	<script type="text/javascript" src="assets/jquery.min.js"></script>
	<script type="text/javascript" src="assets/jquery.easyui.min.js"></script>
</head>
<body>
	<h2>Custom DataGrid Pager</h2>
	<p>You can append some buttons to the standard datagrid pager bar.</p>
	<div style="margin:20px 0;"></div>
	<table id="dg" title="Custom DataGrid Pager" style="width:700px;height:500px"
			data-options="rownumbers:true,singleSelect:true,pagination:true,url:'deal',method:'post'">
		<thead>
			<tr>
			<th data-options="field:'numb',width:80">故障编号</th>
			<th data-options="field:'type',width:80">设备型号</th>
			<th data-options="field:'idnum',width:80">设备编号</th>
			<th data-options="field:'brandname',width:80">设备品牌</th>
			<th data-options="field:'applytime',width:80">申报日期</th>
			<!-- <th data-options="field:'',width:80">操作</th> -->
			</tr>
		</thead>
	</table>
	<script type="text/javascript">
		$(function(){
			var pager = $('#dg').datagrid().datagrid('getPager');	// get the pager of datagrid
			pager.pagination({
				buttons:[{
					iconCls:'icon-search',
					handler:function(){
						alert('search');
					}
				},{
					iconCls:'icon-add',
					handler:function(){
						alert('add');
					}
				},{
					iconCls:'icon-edit',
					handler:function(){
						alert('edit');
					}
				}]
			});			
		})
	</script>
</body>
</html>



3、重点在于从后台获取数据:

package com.ifytek.controller;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.ifytek.service.EquipService;
@WebServlet("/deal")
public class EquipDeal extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		req.getRequestDispatcher("/WEB-INF/jsp/equipdeal.jsp").forward(req, resp);
	}
@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
	req.setCharacterEncoding("utf-8");
	resp.setContentType("application/json;charset=utf-8");
	System.out.println("**********equipdeal post");
	int currPage=Integer.parseInt(req.getParameter("page"));
	int pageSize=Integer.parseInt(req.getParameter("rows"));
	EquipService service=new EquipService();
	String str=service.getPage(currPage,pageSize);
	System.out.println(str);
	resp.getWriter().write(str);
	}
}

service:

package com.ifytek.service;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.alibaba.fastjson.JSON;
import com.ifytek.dao.EquipDao;
import com.ifytek.domain.EquipApply;
import com.ifytek.domain.Equips;
import com.ifytek.domain.EuipsTable;
import com.ifytek.domain.Pager;
import com.ifytek.domain.Message;

import net.sf.json.JSONArray;

public class EquipService {

	

	

	

	public String getPage(int currPage, int pageSize) {
		EquipDao dao=new EquipDao();
		ResultSet resultSet=dao.getPage(currPage,pageSize);
		Pager<EuipsTable> page=new Pager<>();
		ArrayList<EuipsTable> list=new ArrayList<>();
		int total=getTotal();
		try {
			while(resultSet.next()){
				EuipsTable table=new EuipsTable();
				table.setId(resultSet.getInt("id"));
				table.setNumb(resultSet.getString("numb"));
				System.out.println(resultSet.getString("numb"));
				table.setType(resultSet.getString("typeclass"));
				table.setIdnum(resultSet.getString("idnum"));
				table.setBrandname(resultSet.getString("brand"));
				table.setClassfiy(resultSet.getString("classfiy"));
				//table.setApplytime(resultSet.getString("applytime"));
				table.setStatue(resultSet.getString("statue"));
				//table.setTime(resultSet.getString("etime"));
				table.setMoney(resultSet.getDouble("money"));
				table.setInvoice(resultSet.getString("invoice"));
				list.add(table);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		page.setTotal(total);
		page.setRows(list);
		
//		JSONArray array=JSONArray.fromObject(page);
//		return array.toString();
		return JSON.toJSONString(page,true);
	}

	private int getTotal() {
		EquipDao dao=new EquipDao();
		int a=dao.getTotal();
		return a;
	}

}

dao:

package com.ifytek.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;

import com.ifytek.domain.Const;
import com.ifytek.domain.EquipApply;
import com.ifytek.domain.Equips;
import com.ifytek.domain.EuipsTable;
import com.ifytek.util.DbUtil;

public class EquipDao {
DbUtil dbUtil;
	
	public void close() {
		dbUtil.close();
	}

	
	public int getTotal() {
		dbUtil=new DbUtil();
		String sql="select count(*) from equips";
		ResultSet resultSet=dbUtil.executeQuery(sql);
		int a=-1;
		try {
			if(resultSet.next()){
				a=resultSet.getInt(1);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return a;
	}

	public ResultSet getPage(int currPage, int pageSize) {
		dbUtil=new DbUtil();
		System.out.println("currPage为"+currPage+"  "+pageSize);
		int a = currPage* pageSize;
		int b = (currPage-1)*pageSize;
		String sql="select * from (select equips.id as id,numb,typeclass,brand,classfiy,applytime,equips.statue as statue,etime,"+
				"money,equips.idnum as idnum,invoice,rownum rn from  equips left join devices on  equips.idnum=devices.idnum where rownum<=?"
				+") where rn>?";
		ResultSet resultSet=dbUtil.executeQuery(sql,a,b);
		return resultSet;
	}
}


三、带搜索的分页:


1、前台:

<%@ 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>
		<link rel="stylesheet" type="text/css" href="assets/themes/default/easyui.css">
		<link rel="stylesheet" type="text/css" href="assets/themes/icon.css">

		<script type="text/javascript" src="assets/jquery.min.js"></script>
		<script type="text/javascript" src="assets/jquery.easyui.min.js"></script>
	</head>
<style>
	
	.tb{
		padding: 3px;
	}
</style>
<script>
var bigclass="";
var smallclass="";
var typeclass="";
var brandname="";
//搜索
function find(){
	/* var dt="&brandname="+brandname+"&bigclass="+bigclass+
	"&smallclass="+smallclass+"&typeclass="+typeclass; */
	findtype=$("#findtype").val();
	 $('#dg').datagrid('load',{
		 brandname: brandname,
		 bigclass:bigclass,
		 findtype:findtype,
		 smallclass:smallclass
     });
	/* $.post("deal",dt,function(data){
		
	}) */
}
//页面加载完
	$(function(){
		
		 //品牌下拉列表加载
		$.post("getbrand",function(data){
			var jsonarr=JSON.parse(data);
			//alert("分类下拉列表"+jsonarr);
			$("#brandselect").html("");
			for(var i=0;i<jsonarr.length;i++){
				var da=new Option(jsonarr[i]);
				var brandselect=document.getElementById("brandselect");
				brandselect.options.add(da);
			}
			brandname=jsonarr[0];
		});
        //分类下拉列表加载
		$.post("getClassfiy",function(data){
			var jsonarr=JSON.parse(data);
			$("#bigclassfiyselect").html("");
			for(var i=0;i<jsonarr.length;i++){
				var da=new Option(jsonarr[i]);
				var brandselect=document.getElementById("bigclassfiyselect");
				brandselect.options.add(da);
			}
			bigclass=jsonarr[0];
		});

		//类别选择事件
				$(".bigclassfiyselect").change(function() {
					bigclass=$(this).val();
					var d = "&realclassfiy=" + bigclass;
					$.post("getClassfiy1", d, function(data) {
						var js = JSON.parse(data);
						$(".smallclassfiyselect").html("");
						for(var i = 0; i < js.length; i++) {
							var select3 = document.getElementById("smallclassfiyselect");

							var da = new Option(js[i]);
							select3.options.add(da);

						} 
					})
				});
					 
					$(".smallclassfiyselect").change(function() {
						smallclass=$(this).val();

					}); 
					//品牌选择事件
					$(".brandselect").change(function() {
						//alert("点击");
						 brandname = $(this).val();
						//alert(brandname); 
					});
		
	})//页面加载结束
</script>
	<body>

		<div style="margin:20px 0;"></div>
		<table id="dg" title="Custom DataGrid Pager" style="width:700px;height:500px" data-options="rownumbers:true,singleSelect:true,pagination:true,url:'deal',method:'post'">

			<tr>
				<div id="tb"  class="tb">
					<select class="brandselect" id="brandselect">
						<option>请选择品牌</option>
					</select>
					
					<select class="bigclassfiyselect" id="bigclassfiyselect">
						<option>请选择分类</option>
					</select>
					<select class="smallclassfiyselect" id="smallclassfiyselect">
						<option>请选择分类</option>
					</select>
					<input type="text" placeholder="请输入型号" class="findtype" name="findtype" id="findtype"/>
					<a href="#" class="easyui-linkbutton" plain="true" οnclick="find()">搜索</a> 
					<!-- <input type="button" οnclick="find()" value="搜索"/> -->
				</div>
			</tr>
			<thead>

				<tr>
					<th data-options="field:'numb',width:80">故障编号</th>
					<th data-options="field:'type',width:80">设备型号</th>
					<th data-options="field:'idnum',width:80">设备编号</th>
					<th data-options="field:'brandname',width:80">设备品牌</th>
					<th data-options="field:'classfiy',width:80">设备分类</th>
					<th data-options="field:'applytime',width:80">申报日期</th>
					<!-- <th data-options="field:'',width:80">操作</th> -->
				</tr>

			</thead>
		</table>
		<script type="text/javascript">
			$(function() {
				var pager = $('#dg').datagrid().datagrid('getPager'); // get the pager of datagrid
				pager.pagination({
					buttons: [{
						iconCls: 'icon-search',
						handler: function() {
							alert('search');
						}
					}, {
						iconCls: 'icon-add',
						handler: function() {
							alert('add');
						}
					}, {
						iconCls: 'icon-edit',
						handler: function() {
							alert('edit');
						}
					}]
				});
			})
		</script>
	</body>

</html>

2、后台:

package com.ifytek.controller;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.ifytek.service.EquipService;
@WebServlet("/deal")
public class EquipDeal extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		req.getRequestDispatcher("/WEB-INF/jsp/equipdeal.jsp").forward(req, resp);
	}
@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
	req.setCharacterEncoding("utf-8");
	resp.setContentType("application/json;charset=utf-8");
	System.out.println("**********equipdeal post");
	int currPage=Integer.parseInt(req.getParameter("page"));
	int pageSize=Integer.parseInt(req.getParameter("rows"));
	
	//搜索参数
	Map<String, String> map=new HashMap<>();
	String brandname=req.getParameter("brandname");
	String bigclass=req.getParameter("bigclass");
	String smallclass=req.getParameter("smallclass");
	String typeclass=req.getParameter("findtype");
	System.out.println(brandname+" "+typeclass+" "+bigclass+" "+smallclass);
	map.put("brandname", brandname);
	map.put("classfiy", bigclass+" "+smallclass);
	map.put("typeclass", typeclass);
	EquipService service=new EquipService();
	String str=service.getPage(currPage,pageSize,map);
	System.out.println(str);
	resp.getWriter().write(str);
	}
}


service:

package com.ifytek.service;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSON;
import com.ifytek.dao.EquipDao;
import com.ifytek.domain.EquipApply;
import com.ifytek.domain.Equips;
import com.ifytek.domain.EuipsTable;
import com.ifytek.domain.Pager;
import com.ifytek.domain.Message;

import net.sf.json.JSONArray;

public class EquipService {

	public Message addEquip(EquipApply apply) {
		//故障申报,同时生成故障单
		Message message=new Message();
		EquipDao applyDao=new EquipDao();
		Date date=new Date();
		SimpleDateFormat format=new SimpleDateFormat("yyyyMMdd");
		SimpleDateFormat format1=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		String fString=format.format(date)+apply.getIdnum();
		String applytime=format1.format(date);
		Equips equips=new Equips();
		int id=get_Id();
		equips.setId(id+1);
		equips.setNumb(fString);
		equips.setApplytime(applytime);
		equips.setIdnum(apply.getIdnum());
//		equips.setInvoice(invoice);
		equips.setStatue("待维修");
//		equips.setTime(time);
		equips.setMoney(0.0);
		int a=applyDao.addEquipApply(apply);
		int b=applyDao.addEquipTable(equips);//生成故障单
		if(a>0 && b>0){
			message.setCode(200);
			message.setMsg("申报成功");
			message.setRes(true);
		}else{
			message.setCode(300);
			message.setMsg("服务器繁忙,请稍后再试");
			message.setRes(false);
		}
		applyDao.close();
		return message;
	}

	public int get_Id() {
		int a=1;
		EquipDao dao=new EquipDao();
		ResultSet resultSet=dao.get_Id();
		try {
			if(resultSet.next()){
				a=resultSet.getInt(1);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		dao.close();
		return a;
	}

	public List<EuipsTable> find(int currPage) {
		ArrayList<EuipsTable> list=new ArrayList<>();
		EquipDao dao=new EquipDao();
		ResultSet resultSet=dao.find(currPage);
		try {
			while(resultSet.next()){
				String brandname="";
				String classfiy="";
				String type="";
				EuipsTable euipsTable=new EuipsTable();
				String idnum=resultSet.getString("idnum");
				euipsTable.setId(resultSet.getInt("id"));
				euipsTable.setApplytime(resultSet.getString("applytime"));
				euipsTable.setNumb(resultSet.getString("numb"));
				euipsTable.setIdnum(idnum);
				euipsTable.setInvoice(resultSet.getString("invoice"));
				euipsTable.setMoney(resultSet.getDouble("money"));
				euipsTable.setStatue(resultSet.getString("statue"));
				euipsTable.setTime(resultSet.getString("etime"));
				ResultSet set=dao.findDevicesByIdnum(idnum);
				if(set.next()){
					brandname=set.getString("brand");
					classfiy=set.getString("classfiy");
					type=set.getString("typeclass");
				}
				euipsTable.setBrandname(brandname);
				euipsTable.setClassfiy(classfiy);
				euipsTable.setType(type);
				list.add(euipsTable);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		dao.close();
		return list;
	}

	public ArrayList<EquipApply> queryEquipApplyByIdnum(String idnum) {
		ArrayList<EquipApply> list=new ArrayList<>();
		EquipDao dao=new EquipDao();
		ResultSet resultSet=dao.queryEquipApplyByIdnum(idnum);
		try {
			while(resultSet.next()){
				EquipApply apply=new EquipApply();
				apply.setAddress(resultSet.getString("address"));
				apply.setClassfiy(resultSet.getString("classfiy"));
				apply.setContact(resultSet.getString("contact"));
				apply.setDescribe(resultSet.getString("describetion"));
				apply.setFile(resultSet.getString("files"));
				apply.setRealoption(resultSet.getString("realclassfiy"));
				apply.setUsername(resultSet.getString("name"));
				list.add(apply);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		dao.close();
		return list;
	}

	public ArrayList<EuipsTable> findEquips(EuipsTable equips) {
		ArrayList<EuipsTable> list=new ArrayList<>();
		EquipDao dao=new EquipDao();
		ResultSet resultSet=dao.findEquips(equips);
		try {
			while(resultSet.next()){
				EuipsTable table=new EuipsTable();
				table.setId(resultSet.getInt("id"));
				table.setNumb(resultSet.getString("numb"));
				table.setType(resultSet.getString("typeclass"));
				table.setIdnum(resultSet.getString("idnum"));
				table.setBrandname(resultSet.getString("brand"));
				table.setClassfiy(resultSet.getString("classfiy"));
				//table.setApplytime(resultSet.getString("applytime"));
				table.setStatue(resultSet.getString("statue"));
				//table.setTime(resultSet.getString("etime"));
				table.setMoney(resultSet.getDouble("money"));
				table.setInvoice(resultSet.getString("invoice"));
				list.add(table);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		dao.close();
		return list;
	}

	public int getId() {
		//得到当前id  没有用序列
		EquipDao dao=new EquipDao();
		int a=dao.getId();
		return a;
	}

	public String getPage(int currPage, int pageSize,Map<String, String> map) {
		EquipDao dao=new EquipDao();
		ResultSet resultSet=dao.getPage(currPage,pageSize,map);
		Pager<EuipsTable> page=new Pager<>();
		ArrayList<EuipsTable> list=new ArrayList<>();
		int total=getTotal();
		try {
			while(resultSet.next()){
				EuipsTable table=new EuipsTable();
				table.setId(resultSet.getInt("id"));
				table.setNumb(resultSet.getString("numb"));
				System.out.println(resultSet.getString("numb"));
				table.setType(resultSet.getString("typeclass"));
				table.setIdnum(resultSet.getString("idnum"));
				table.setBrandname(resultSet.getString("brand"));
				table.setClassfiy(resultSet.getString("classfiy"));
				//table.setApplytime(resultSet.getString("applytime"));
				table.setStatue(resultSet.getString("statue"));
				//table.setTime(resultSet.getString("etime"));
				table.setMoney(resultSet.getDouble("money"));
				table.setInvoice(resultSet.getString("invoice"));
				list.add(table);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		page.setTotal(total);
		page.setRows(list);
		
//		JSONArray array=JSONArray.fromObject(page);
//		return array.toString();
		return JSON.toJSONString(page,true);
	}

	private int getTotal() {
		EquipDao dao=new EquipDao();
		int a=dao.getTotal();
		return a;
	}

}

dao:

package com.ifytek.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

import com.ifytek.domain.Const;
import com.ifytek.domain.EquipApply;
import com.ifytek.domain.Equips;
import com.ifytek.domain.EuipsTable;
import com.ifytek.util.DbUtil;

public class EquipDao {
DbUtil dbUtil;
	public int addEquipApply(EquipApply apply) {//生成故障申报表
		dbUtil=new DbUtil();
		String sql="insert into equipapply(id,idnum,address,classfiy,contact,name,describetion,files,realclassfiy) values(?,?,?,?,?,?,?,?,?)";
		int a=dbUtil.executeUpdate(sql, apply.getId(),apply.getIdnum(),apply.getAddress(),apply.getClassfiy(),
				apply.getContact(),apply.getUsername(),apply.getDescribe(),apply.getFile(),apply.getRealoption());
		//dbUtil.close();
		return a;
	}

	public int addEquipTable(Equips equips) {//生成故障单
		dbUtil=new DbUtil();
		String sql="insert into equips(id,numb,idnum,statue,money,invoice) values(?,?,?,?,?,?)";
		int a=dbUtil.executeUpdate(sql,equips.getId(),equips.getNumb(),equips.getIdnum(),
				equips.getStatue(),equips.getMoney(),equips.getInvoice());
		//dbUtil.close();
		return a;
	}
	public void close() {
		dbUtil.close();
	}

	public ResultSet get_Id() {
		dbUtil=new DbUtil();
		String sql="select max(id) from equips";
		ResultSet resultSet=dbUtil.executeQuery(sql);
		return resultSet;
	}

	public ResultSet find(int currPage) {
		dbUtil=new DbUtil();
		String sql="select * from (select id, numb, idnum, applytime, statue, etime, money, invoice,rownum rn from equips where rownum<=?) where rn>?";
		int a = currPage* Const.PAGE_SIZE;
		int b = (currPage-1)*Const.PAGE_SIZE;
		ResultSet resultSet=dbUtil.executeQuery(sql, a,b);
		return resultSet;
	}

	public ResultSet findDevicesByIdnum(String idnum) {
		dbUtil=new DbUtil();
		String sql="select brand,classfiy,typeclass from devices where idnum=?";
		ResultSet resultSet=dbUtil.executeQuery(sql, idnum);
		return resultSet;
	}

	public ResultSet queryEquipApplyByIdnum(String idnum) {
		dbUtil=new DbUtil();
		System.out.println("idnum参数值为"+idnum);
		String sql="select * from equipapply where idnum=?";
		ResultSet resultSet=dbUtil.executeQuery(sql, idnum);
		return resultSet;
	}

	public ResultSet findEquips(EuipsTable equips) {
		dbUtil=new DbUtil();
		String sql="select equips.id as id,numb,typeclass,brand,"+
		"classfiy,applytime,equips.statue as statue,etime,money,equips.idnum as idnum,"+
		"invoice from  equips left join devices on  "+
		"equips.idnum=devices.idnum  where equips.statue=?"+ 
			"	and brand=?  and typeclass=? and classfiy=?";//and classfiy=?
		ResultSet resultSet=dbUtil.executeQuery(sql, equips.getStatue(),
				equips.getBrandname(),equips.getType(),equips.getClassfiy());//equips.getClassfiy(),
		return resultSet;
	}

	public int getId() {
		//得到equipapply表的id
		dbUtil =new DbUtil();
		int a=1;
		String sql="select max(id) from equipapply";
		ResultSet resultSet=dbUtil.executeQuery(sql);
		try {
			while(resultSet.next()){
				a=resultSet.getInt(1);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return a;
	}

	public int getTotal() {
		dbUtil=new DbUtil();
		String sql="select count(*) from equips";
		ResultSet resultSet=dbUtil.executeQuery(sql);
		int a=-1;
		try {
			if(resultSet.next()){
				a=resultSet.getInt(1);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return a;
	}

	public ResultSet getPage(int currPage, int pageSize,Map<String, String> map) {
		dbUtil=new DbUtil();
		String brandname=map.get("brandname");
		String classfiy=map.get("classfiy");
		String typeclass=map.get("typeclass");
		System.out.println(brandname==null);
		System.out.println(classfiy==null);
		ResultSet resultSet = null;
		int a = currPage* pageSize;
		int b = (currPage-1)*pageSize;
		if(brandname==null  && typeclass==null){
			System.out.println("无条件查询");
			String sql="select * from (select equips.id as id,numb,typeclass,brand,classfiy,applytime,equips.statue as statue,etime,"+
					"money,equips.idnum as idnum,invoice,rownum rn from  equips left join devices on  equips.idnum=devices.idnum where rownum<=?"
					+") where rn>?";
			resultSet=dbUtil.executeQuery(sql,a,b);
		}else{
			System.out.println("有条件查询");
			String sql="select * from (select equips.id as id,numb,typeclass,brand,classfiy,applytime,equips.statue as statue,etime,"+
           "money,equips.idnum as idnum,invoice,rownum rn from  equips left join devices on  equips.idnum=devices.idnum where "+
           "rownum<=?  and brand=? and typeclass=? and classfiy=? )where rn>?";
			resultSet=dbUtil.executeQuery(sql,a,brandname,typeclass,classfiy,b);
		}
		
		
		return resultSet;
	}
}


四、经典布局


1、前台:

<!DOCTYPE html>  
<html>  
<head>  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
    <meta name="keywords" content="jquery,ui,easy,easyui,web">  
    <meta name="description" content="easyui help you build your web page easily!">  
    <title>jQuery EasyUI CRUD Demo</title>  
    <link rel="stylesheet" type="text/css" href="assets/themes/default/easyui.css">  
    <link rel="stylesheet" type="text/css" href="assets/themes/icon.css">  
    <style type="text/css">  
        #fm{  
            margin:0;  
            padding:10px 30px;  
        }  
        .ftitle{  
            font-size:14px;  
            font-weight:bold;  
            color:#666;  
            padding:5px 0;  
            margin-bottom:10px;  
            border-bottom:1px solid #ccc;  
        }  
        .fitem{  
            margin-bottom:5px;  
        }  
        .fitem label{  
            display:inline-block;  
            width:80px;  
        }  
    </style>  
    <script type="text/javascript" src="assets/jquery.min.js"></script>  
    <script type="text/javascript" src="assets/jquery.easyui.min.js"></script>  
    <script type="text/javascript">  
        var url;  
          
        function searchUser(){  
            var name=$("#name").val();  
            $('#dg').datagrid('load', {  
                name:name  
            });  
        }  
          
        function newUser(){  
            $('#dlg').dialog('open').dialog('setTitle','New User');  
            $('#fm').form('clear');  
            url="add";  
            /* $("#fm").submit(function(){  
                var dt=$("#fm").serialize();  
                $.post("add",dt,function(data){  
                    alert(data);  
                });  
                return false;  
            }) */  
              
              
        }  
        function editUser(){  
            var row = $('#dg').datagrid('getSelected');  
            if (row){  
                $('#dlg').dialog('open').dialog('setTitle','Edit User');  
                $('#fm').form('load',row);  
                $(".addname").val(row.name);  
                $(".addage").val(row.age);  
                $(".addbirthday").val(row.birthday);  
                $(".addsex").val(row.sex);  
                alert(row.name);  
                url = 'update?id='+row.id;  
            }  
        }  
        function saveUser(){  
            $('#fm').form('submit',{  
                url: url,  
                onSubmit: function(){  
                    return $(this).form('validate');  
                },  
                success: function(result){  
                    alert(result);  
                  // var result = eval('('+result+')');  
                    if (result.endsWith("成功")){  
                        $('#dlg').dialog('close');      // close the dialog  
                        $('#dg').datagrid('reload');    // reload the user data  
                    } else {  
                        $.messager.show({  
                            title: 'Error',  
                            msg: result.msg  
                        });  
                    }  
                }  
            });  
        }  
        function removeUser(){  
            var row = $('#dg').datagrid('getSelected');  
            if (row){  
                $.messager.confirm('Confirm','Are you sure you want to remove this user?',function(r){  
                    if (r){  
                    	var id=row.id;
                    	var dt="&id="+id;
                        $.post('delete',dt,function(data){ 
                        	 alert(data); 
                            if (data=="删除成功"){  
                                
                                $('#dg').datagrid('reload');    // reload the user data  
                            } else {  
                                $.messager.show({   // show error message  
                                    title: 'Error',  
                                    msg: result.msg  
                                });  
                            }  
                        });  
                    }  
                });  
            }  
        }  
    </script>  
</head>  
<body>  
    <h2>Basic CRUD Application</h2>  
    <div class="demo-info" style="margin-bottom:10px">  
        <div class="demo-tip icon-tip"> </div>  
        <div>Click the buttons on datagrid toolbar to do crud actions.</div>  
    </div>  
      
    <table id="dg" title="My Users" class="easyui-datagrid" style="width:700px;height:250px"  
            url="getstu"  
            toolbar="#toolbar" pagination="true"  
            rownumbers="true" fitColumns="true" singleSelect="true">  
        <thead>  
            <tr>  
                <th field="name" width="50">姓名</th>  
                <th field="age" width="50">Last Name</th>  
                <th field="sex" width="50">Phone</th>  
                <th field="birthday" width="50">Email</th>  
            </tr>  
        </thead>  
    </table>  
    <div id="toolbar">  
        <a href="#" class="easyui-linkbutton" iconCls="icon-add" plain="true" οnclick="newUser()">新增用户</a>  
        <a href="#" class="easyui-linkbutton" iconCls="icon-edit" plain="true" οnclick="editUser()">编辑用户</a>  
        <a href="#" class="easyui-linkbutton" iconCls="icon-remove" plain="true" οnclick="removeUser()">Remove User</a>  
        <input type="text" name="name" id="name" class="name">  
        <a href="#" class="easyui-linkbutton" iconCls="icon-search" plain="true" οnclick="searchUser()">查询</a>  
    </div>  
      
    <div id="dlg" class="easyui-dialog" style="width:400px;height:280px;padding:10px 20px"  
            closed="true" buttons="#dlg-buttons">  
        <div class="ftitle">User Information</div>  
        <form id="fm" method="post" novalidate>  
            <div class="fitem">  
                <label>姓名</label>  
                <input name="addname" class="easyui-validatebox addname" required="true">  
            </div>  
            <div class="fitem">  
                <label>年龄</label>  
                <input name="addage" class="easyui-validatebox addage" required="true">  
            </div>  
            <div class="fitem">  
                <label>性别</label>  
                <input type="radio" name="addsex" value="男" checked="checked" class="addsex"/>男  
        <input type="radio" name="addsex" value="女" class="addsex"/>女  
            </div>  
            <div class="fitem">  
                <label>生日</label>  
                <input name="addbirthday" class="easyui-validatebox addbirthday" validType="date" >  
            </div>  
        </form>  
    </div>  
    <div id="dlg-buttons">  
        <a href="#" class="easyui-linkbutton" iconCls="icon-ok" οnclick="saveUser()">Save</a>  
        <a href="#" class="easyui-linkbutton" iconCls="icon-cancel" οnclick="javascript:$('#dlg').dialog('close')">Cancel</a>  
    </div>  
</body>  
</html>  


2、后台:

(1、)查:

package com.zt.controller;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.zt.service.StudentService;



@WebServlet("/getstu")
public class StudentServlet extends HttpServlet{
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
	req.setCharacterEncoding("utf-8");
	resp.setContentType("text/html;charset=utf-8");
	int currPage=Integer.parseInt(req.getParameter("page"));
	int pageSize=Integer.parseInt(req.getParameter("rows"));
	
	//搜索参数
	Map<String, String> map=new HashMap<String,String>();
	String name=req.getParameter("name");
	System.out.println("name为"+name);
	map.put("name", name);
	StudentService service=new StudentService();
	String str=service.getPage(currPage,pageSize,map);
	System.out.println(str);
	resp.getWriter().write(str);
}
}

(2、)增:

package com.zt.controller;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.zt.domain.Message;
import com.zt.domain.Student;
import com.zt.service.StudentService;
@WebServlet("/add")
public class AddStudent extends HttpServlet{
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
	req.setCharacterEncoding("utf-8");
	resp.setContentType("text/html;charset=utf-8");
	System.out.println("add");
	Student student=new Student();
	StudentService service=new StudentService();
	int id=service.getId();
	String name=req.getParameter("addname");
	student.setAge(Integer.parseInt(req.getParameter("addage")));
	student.setName(name);
	student.setBirthday(req.getParameter("addbirthday"));
	student.setId(id+1);
	student.setSex(req.getParameter("addsex"));
	Message message=service.add(student);
	resp.getWriter().write(message.getMsg());
}
}

(3、)改:

package com.zt.controller;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.zt.domain.Message;
import com.zt.domain.Student;
import com.zt.service.StudentService;

@WebServlet("/update")
public class UpdateStudent extends HttpServlet{

@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
	req.setCharacterEncoding("utf-8");
	resp.setContentType("text/html;charset=utf-8");
	System.out.println("update post");
	StudentService service=new StudentService();
	int id=Integer.parseInt(req.getParameter("id"));
	String bename=service.getNameById(id);
	Student student=new Student();
	String name=req.getParameter("addname");
	student.setAge(Integer.parseInt(req.getParameter("addage")));
	student.setName(name);
	student.setBirthday(req.getParameter("addbirthday"));
	
	student.setSex(req.getParameter("addsex"));
	System.out.println(bename);
	
	Message message=service.update(bename,student);
	resp.getWriter().write(message.getMsg());
	}
}

(4、)删:

package com.zt.controller;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.zt.dao.StudentDao;
import com.zt.domain.Message;
import com.zt.service.StudentService;

@WebServlet("/delete")
public class DeleteStudent extends HttpServlet{
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
	req.setCharacterEncoding("utf-8");
	resp.setContentType("text/html;charset=utf-8");
	int id=Integer.parseInt(req.getParameter("id"));
	StudentService service=new StudentService();
	Message message=service.delete(id);
	resp.getWriter().write(message.getMsg());
}
}

3、service:

package com.zt.service;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Map;

import com.alibaba.fastjson.JSON;
import com.zt.dao.StudentDao;
import com.zt.domain.Message;
import com.zt.domain.Pager;
import com.zt.domain.Student;

public class StudentService {

	public String getPage(int currPage, int pageSize, Map<String, String> map) {
		StudentDao dao=new StudentDao();
		ResultSet resultSet=dao.getPage(currPage,pageSize,map);
		Pager<Student> page=new Pager<>();
	    int total=getTotal(map);
	    page.setTotal(total);
		ArrayList<Student> list=new ArrayList<>();
		try {
			while(resultSet.next()){
				Student student=new Student();
				student.setAge(resultSet.getInt("age"));
				student.setBirthday(resultSet.getString("birthday"));
				student.setId(resultSet.getInt("id"));
				student.setName(resultSet.getString("name"));
				student.setSex(resultSet.getString("sex"));
				list.add(student);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		page.setRows(list);
		return JSON.toJSONString(page,true);
	}

	private int getTotal(Map<String, String> map) {
		StudentDao dao=new StudentDao();
		int a=dao.getTotal(map);
		return a;
	}

	public int getId() {
		StudentDao dao=new StudentDao();
		int id=dao.getId();
		return id;
	}

	public Message add(Student student) {
		StudentDao dao=new StudentDao();
		int a=dao.add(student);
		Message message=new Message();
		if(a>0){
			message.setCode(200);
			message.setMsg("添加成功");
			message.setRes(true);
		}else{
			message.setCode(300);
			message.setMsg("添加失败");
			message.setRes(false);
		}
		return message;
	}

	public Message update(String bename, Student student) {
		Message message=new Message();
		String upname=student.getName();
		StudentDao dao=new StudentDao();
		int a=0;
		if(!bename.equals(upname)){
			//改了姓名
			//查询用户名是否重复
			ResultSet resultSet=checkByName(upname);
			try {
				if(resultSet.next()){
					message.setCode(300);
					message.setMsg("用户名已存在");
					message.setRes(false);return message;
				}else{
					
					a=dao.update(bename,student);
					
				}
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}else{
			//没有修改姓名
			 a=dao.update(bename,student);
		}
		if(a>0){
			message.setCode(200);
			message.setMsg("修改成功");
			message.setRes(true);
		}else{
			message.setCode(300);
			message.setMsg("修改失败");
			message.setRes(false);
		}
		return message;
	}

	private ResultSet checkByName(String upname) {
		StudentDao dao=new StudentDao();
		ResultSet resultSet=dao.checkByName(upname);
		return resultSet;
	}

	public String getNameById(int id) {
		StudentDao dao=new StudentDao();
		String name=dao.getNameById(id);
		return name;
	}

	public Message delete(int id) {
		StudentDao dao=new StudentDao();
		int a=dao.deletestu(id);
		Message message=new Message();
		if(a>0){
			message.setCode(200);
			message.setMsg("删除成功");
			message.setRes(true);
		}else{
			message.setCode(300);
			message.setMsg("删除失败");
			message.setRes(false);
		}
		return message;
	}

	
}

4、dao:

package com.zt.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Map;

import com.zt.domain.Student;
import com.zt.util.DbUtil;

public class StudentDao {
DbUtil dbUtil;
	public ResultSet getPage(int currPage, int pageSize, Map<String, String> map) {
		dbUtil=new DbUtil();
		String name=map.get("name");
		ResultSet resultSet;
		int a = currPage* pageSize;
		int b = (currPage-1)*pageSize;
		if(name==null){
			//无条件查询
			String sql="select * from (select student.*,rownum rn from student where rownum<=?) where rn>?";
			resultSet=dbUtil.executeQuery(sql,a,b);
		}else{
			String sql="select * from (select student.*,rownum rn from student where rownum<=? and name=?) where rn>?";
			resultSet=dbUtil.executeQuery(sql,a,name,b);
		}
		return resultSet;
	}
	public int getTotal(Map<String, String> map) {
		dbUtil=new DbUtil();
		String name=map.get("name");
		ResultSet resultSet = null;
		if(name==null){
			//无条件查询
			String sql="select count(*) from student";
			resultSet=dbUtil.executeQuery(sql);
		}else{
			String sql="select count (*) from (select * from student where name=?)";
			resultSet=dbUtil.executeQuery(sql,name);
		}
		try {
			if(resultSet.next()){
				return resultSet.getInt(1);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return 0;
	}
	public int getId() {
		dbUtil=new DbUtil();
		String sql="select max(id) from student";
		ResultSet resultSet=dbUtil.executeQuery(sql);
		int a=1;
		try {
			if(resultSet.next()){
				a=resultSet.getInt(1);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return a;
	}
	public int add(Student student) {
		dbUtil=new DbUtil();
		String sql="insert into student(id, name, age, sex, birthday)  values(?,?,?,?,?)";
		int a=dbUtil.executeUpdate(sql, student.getId(),student.getName(),
				student.getAge(),student.getSex(),student.getBirthday());
		return a;
	}
	public int update(String bename, Student student) {
		System.out.println("修改前"+bename);
		System.out.println("修改后"+student.getName());
		dbUtil=new DbUtil();
		String sql="update student set name=?,sex=?,birthday=?,age=? where name=?";
		int a=dbUtil.executeUpdate(sql, student.getName(),
				student.getSex(),student.getBirthday(),student.getAge(),bename);
		return a;
	}
	public ResultSet checkByName(String upname) {
		dbUtil=new DbUtil();
		String sql="select * from student where name=?";
		ResultSet resultSet=dbUtil.executeQuery(sql, upname);
		return resultSet;
	}
	public String getNameById(int id) {
		dbUtil=new DbUtil();
		String sql="select name from student where id=?";
		ResultSet resultSet=dbUtil.executeQuery(sql, id);
		try {
			if(resultSet.next()){
				return resultSet.getString(1);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	public int deletestu(int id) {
		dbUtil=new DbUtil();
		String sql="delete from student where id=?";
		int a=dbUtil.executeUpdate(sql, id);
		return a;
	}

}


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

w_t_y_y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值