easyui_04.DataGrid数据查询

6 篇文章 0 订阅

1.创建一个表代码在下面

create table t_book (
  id integer not null,
  bookname varchar(50) not null,
  price float not null,
  booktype varchar(40) not null,
  primary key (id)
);

-- 测试数据
insert  into t_book(id,bookname,price,booktype) values (1,'西游记00088',180,'名著');
insert  into t_book(id,bookname,price,booktype) values (2,'红楼梦001',110.08,'名著');
insert  into t_book(id,bookname,price,booktype) values (3,'倚天屠龙记',150.16,'武侠');
insert  into t_book(id,bookname,price,booktype) values (4,'聊斋志异',100.12,'玄幻');
insert  into t_book(id,bookname,price,booktype) values(5,'永生',110.11,'玄幻');
insert  into t_book(id,bookname,price,booktype) values(6,'武动乾坤',90.89,'玄幻');
insert  into t_book(id,bookname,price,booktype) values(7,'完美世界',100,'玄幻');
insert  into t_book(id,bookname,price,booktype) values(8,'万域之王',56.5,'玄幻');
insert  into t_book(id,bookname,price,booktype) values(9,'遮天001',130.9,'玄幻');
insert  into t_book(id,bookname,price,booktype) values(10,'凡人修仙传',200,'修仙');
insert  into t_book(id,bookname,price,booktype) values(11,'倚天屠龙记',150.16,'武侠');
insert  into t_book(id,bookname,price,booktype) values(12,'斗破苍穹',115.07,'玄幻');
insert  into t_book(id,bookname,price,booktype) values(13,'超级兵王',145,'言情');
insert  into t_book(id,bookname,price,booktype) values(14,'武极天下',45.55,'玄幻');
insert  into t_book(id,bookname,price,booktype) values(15,'聊斋志异',100.12,'玄幻');
insert  into t_book(id,bookname,price,booktype) values(16,'永生',110.11,'玄幻');
insert  into t_book(id,bookname,price,booktype) values(17,'武动乾坤',90.89,'玄幻');
insert  into t_book(id,bookname,price,booktype) values(18,'完美世界',100,'玄幻');
insert  into t_book(id,bookname,price,booktype) values(19,'万域之王',56.5,'玄幻');
insert  into t_book(id,bookname,price,booktype) values(20,'Java',1000,'修仙');
insert  into t_book(id,bookname,price,booktype) values(21,'娃哈哈',100,'玄幻');
insert  into t_book(id,bookname,price,booktype) values(22,'呼啸山庄',123,'mz');
insert  into t_book(id,bookname,price,booktype) values(23,'平凡的世界',123,'mz');
insert  into t_book(id,bookname,price,booktype) values(24,'大红底',12,'xs');

2.搭建前端界面代码如下

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<%@include file="/common/head.jsp"%>
<title>图书</title>
<script type="text/javascript">
	$(function(){
		$('#dg').datagrid({    
		    url:ctx+'/bookServlet',
		    toolbar: '#tb',
		    pagination:true,
		    singleSelect:true,
		    columns:[[    
		        {field:'id',title:'代码',width:100},    
		        {field:'book_name',title:'书本名称',width:100},    
		        {field:'book_price',title:'书本价格',width:100,align:'right'},  
		        {field:'book_type',title:'书本类型',width:100}
		    ]]    
		});  
		$("#qrybtn").click(function(){
			qry();
		});
		
		
		function qry(){
			$('#dg').datagrid("reload",{
				bookName:$("#bookName").val()
			});
		}
	});
</script>
</head>
<body>
	<form action="/bookServlet" method="post">
		<label for="name">书名:</label>   
		<input id="bookName" class="easyui-validatebox" type="text" name="name" data-options="required:true" /> 
		<a id="qrybtn" href="#" class="easyui-linkbutton" >查询</a>    
	</form>
	<div style="margin-top:10px;">
		<table id="dg"></table>  
	</div>
	<div id="tb" style="text-align:right;">
		<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true"></a>
		<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-edit',plain:true"></a>
		<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-remove',plain:true"></a>
	</div>
	
</body>
</html>

3.dao层的开发

package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import model.Book;
import util.DBHerpr;

public class Bookdao implements IBokkdao{
	@Override
	public List<Book> getBook(String name,int pageindex,int pageSize){
		Connection con=null;
		PreparedStatement ps=null;
		ResultSet rs=null;
		List<Book> ls=new ArrayList<Book>();
		try {
			String sql="select id,bookname,price,booktype,rownum as rid from t_book ";
			
			if(name!=null&&!"".equals(null)) {
				sql+=" where bookname like ?";
			}
			sql="select * from ("+sql+")b where  b.rid between ? and ? ";
			
			con=DBHerpr.getCon();
			ps=con.prepareStatement(sql);
			
			int start=(pageindex-1)*pageSize+1;
			int end=pageindex*pageSize;
			
			if(name!= null&&!"".equals(name)) {
				ps.setString(1, name+"%");
				ps.setInt(2, start);
				ps.setInt(3, end);
			}else{
				ps.setInt(1, start);
				ps.setInt(2, end);
			}
			rs=ps.executeQuery();
			while(rs.next()) {
				Book b=new Book();
				b.setId(rs.getInt("id"));
				b.setBook_name(rs.getString("bookname"));
				b.setBook_price(rs.getBigDecimal("price"));
				b.setBook_type(rs.getString("booktype"));
				ls.add(b);
			}
		} catch (Exception e) {
			
			e.printStackTrace();
			
		}finally {
			
			DBHerpr.myClose(con, ps, rs);
			
		}
		return ls;
	}
	
	@Override
	public int getTotalpage(String name) {
		Connection con=null;
		PreparedStatement ps=null;
		ResultSet rs=null;
		int n=0;
		try {
			String sql="select count(*) from t_book";
			con=DBHerpr.getCon();
			if(name!=null&&!"".equals(name)) {
				sql+=" where bookname like ?";
			}
			ps=con.prepareStatement(sql);
			
			if(name!=null&&!"".equals(name)) {
				sql+=" where bookname like ?";
				ps.setString(1, name+"%");
			}
			
			rs=ps.executeQuery();
			if(rs.next()) {
				n=rs.getInt(1);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return n;
	}
	
	
	
	
	public static void main(String[] args) {
		IBokkdao dao=new Bookdao();
//		List<Book> ls=dao.getBook("货", 1, 10);
//		ls.forEach(t->System.out.println(t));
//		int n=dao.getTotalpage("货");
//		System.out.println(n);
	}
}

4.service层的开发

package servie;

import java.util.ArrayList;
import java.util.List;

import dao.Bookdao;
import dao.IBokkdao;
import model.Book;

public class Bookservie implements IBookservie{
	private IBokkdao dao=new Bookdao();
	
	@Override
	public List<Book> getBook(String name,int pageindex,int pageSize){
		return dao.getBook(name, pageindex, pageSize);
	}
	
	@Override
	public int getTotalPage(String name) {
		return dao.getTotalpage(name);
	}
}

5.servle层的开发

package servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.List;
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.alibaba.fastjson.JSON;

import model.Book;
import servie.Bookservie;
import servie.IBookservie;
@WebServlet("/bookServlet")
public class Bookservlet extends HttpServlet{
	
	private IBookservie bk=new Bookservie();
	
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doPost(req, resp);
	}
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		req.setCharacterEncoding("utf-8");
		resp.setContentType("text/html; charset=UTF-8");
		
		String name=req.getParameter("bookName");
		String pageindex=req.getParameter("page");
		int pid=pageindex==null ||"".equals(pageindex) ?1:Integer.parseInt(pageindex);
		int pageSize=10;
		
		List<Book> books=bk.getBook(name, pid, pageSize);
		int total=bk.getTotalPage(name);
		
		Map<String, Object> date=new HashMap<>();
		date.put("total", total);
		date.put("rows", books);
		
		String json=JSON.toJSONString(date);
		PrintWriter out= resp.getWriter();
		out.write(json);
		out.flush();
		out.close();
	}
}

6.完善前端界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@include file="common/head.jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
	$(function(){
		$('#funcTree').tree({    
		    url:ctx +'/moduleServlet',
		    onDblClick:function(node){
		    	 if(!$("#tt").tabs('exists',node.text)){
		    		 $('#tt').tabs('add',{    
				    	    title: node.text,    
				    	    content: '<iframe frameborder=0 src="'+
				    	    node.url
				    	    +'"scrolling="no" style="width:100%;height:100%;"></iframe>',    
				    	    closable:true
				   	 });  
				 }  
		    }
		});
	});
</script>
</head>
<body>	
	<body class="easyui-layout">   
    <div data-options="region:'north',split:true" style="height:50px;"></div> 
    <div data-options="region:'west',title:'功能导航',split:true" style="width:100px;">
    <ul id="funcTree" class="easyui-tree"></ul>  
	
	</div>   
    <div data-options="region:'center'" style="padding:5px;background:#eee;">
    	<div id="tt" class="easyui-tabs" style="width:100%;height:100%;">   
    <div title="首页" style="padding:20px;display:none;">   
      		<b>今天是个好日子  </b>   
    </div>   
</div>  
    </div>
</body>
</html>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

吃亏了的程序猿

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

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

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

打赏作者

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

抵扣说明:

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

余额充值