目录

一.创建数据库

二.创建包结构

三.更改主页结构

四.页面搭建

五.dao层开发

六.Service层开发

七.Servlet开发

八.运行效果


一.创建数据库


二.创建包结构


三.更改主页结构

onDblClick : function(node) {//判重,如果为false即可以添加新的tabif(!$("#tt").tabs('exists',node.text)){$('#tt').tabs('add', {title:node.text,//将内容更改为iframe框架,跳转到servlet处理content:'<iframe frameborder=0 src="' + node.url + '" scrolling="no" style="width:100%;height:100%;"></iframe>',    closable:true});//如果为true,证明已经存在,就移动到指定的tab}else{$('#tt').tabs('select',node.text)}
}

四.页面搭建

<%@ 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>
<%@ include file="../../common/head.jsp"%>
<script type="text/javascript">$(function(){$('#dg').datagrid({    //进servlet拿到数据url:ctx+'/BookServlet',toolbar: '#tb',//显示底部分页工具栏pagination:true,columns:[[    //表格的结构,需要与实体类保持一致{field:'id',title:'ID',width:100},    {field:'bookname',title:'书本名称',width:100},    {field:'price',title:'价格',width:100},{field:'booktype',title:'类型',width:100} ]]    });//模糊查询$("#qrybtn").click(function(){qry();});function qry(){//使用重载的方法将查询的内容传递到servlet中$('#dg').datagrid("reload",{bookName:$("#bookName").val()});}})
</script>
</head>
<body>
<form action="" method="post" style="margin-top:20px"><div>   <label for="name">书名:</label>   <input id="bookName" class="easyui-textbox" style="width:300px"> <a id="qrybtn" href="#" class="easyui-linkbutton" data-options="iconCls:'icon-search'">查询</a></div><div style="margin-top:20px" style="text-align:center"><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>
</form>
</body>
</html>

五.dao层开发

public class BookDao implements IBookDao {@Overridepublic List<Book> getBooks(String name, int pageIndex, int pageSize) {Connection con = null;PreparedStatement ps = null;ResultSet rs = null;List<Book> list = new ArrayList<>();try {String sql = "select id,bookname,price,booktype,rownum as rid from t_book";if(name != null && !"".equals(name)) {sql += " where bookname like ?";}sql = "select * from (" + sql + ")b where b.rid between ? and ?";con = DBHelper.getsCon();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 m = new Book();m.setId(rs.getInt("id"));m.setBookname(rs.getString("bookname"));m.setPrice(rs.getBigDecimal("price"));m.setBooktype(rs.getString("booktype"));list.add(m);}} catch (Exception e) {e.printStackTrace();} finally {DBHelper.Close(con, ps, rs);}return list;}@Overridepublic int getTotalPage() {Connection con = null;PreparedStatement ps = null;ResultSet rs = null;int n  = 0;try {con= DBHelper.getsCon();String sql = "select count(*) from  t_book";ps = con.prepareStatement(sql);rs= ps.executeQuery();if(rs.next()) {n = rs.getInt(1);}} catch (Exception e) {e.printStackTrace();}finally {DBHelper.Close(con, ps, rs);}return n;}}

六.Service层开发

public class BookService implements IBookService {private IBookDao dao = new BookDao();@Overridepublic List<Book> getBooks(String name, int pageIndex, int pageSize) {return dao.getBooks(name, pageIndex, pageSize);}@Overridepublic int getTotalPage() {return dao.getTotalPage();}}

七.servlet开发

@WebServlet("/BookServlet")
public class BookServlet extends HttpServlet{private IBookService service = new BookService();@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//设置字符编码req.setCharacterEncoding("utf-8");resp.setContentType("application/json; 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> list = service.getBooks(name, pid, pageSize);int totalPage = service.getTotalPage();Map<String,Object> data = new HashMap<>();data.put("total", totalPage);data.put("rows", list);String json = JSON.toJSONString(data);PrintWriter out = resp.getWriter();out.write(json);out.flush();out.close();}
}

八.运行效果

主界面


增加书籍

修改

删除

ID28已经被删除了

EasyUI(修改删除)相关推荐

  1. CentOS7设置静态IP、搭建单机版FastDFS图片服务器、使用FastDFS-Client客户端进行简单测试、实现图片上传、实现商品添加修改删除

    CentOS7设置静态IP.搭建单机版FastDFS图片服务器.使用FastDFS-Client客户端进行简单测试.实现图片上传.实现商品添加修改删除 CentOS7设置静态IP而且还可以上网 192 ...

  2. asp.net 对xml文件的读写,添加,修改,删除操作

    asp.net 对xml文件的读写,添加,修改,删除操作 下面有代码调试正确 using System; using System.Collections; using System.Componen ...

  3. wordpress怎么修改html,WordPress后台编辑器HTML模式界面中添加修改删除按钮

    在WordPress编辑器HTML模式界面中添加 按钮一文中,我大致介绍了怎么在后台添加一些自定义的按钮,本文则更为详细全面的对wordpress后台编辑器HTML模式下的按钮自定义进行详解,以让开发 ...

  4. mysql利用触发器删除数据库_[数据库]mysql 触发器的创建 修改 删除

    [数据库]mysql 触发器的创建 修改 删除 0 2015-12-16 23:00:04 //做一个简单的练习,创建一个简单的触发器 完成添加文章的时候,自动加上时间,默认作者 为 '日记本的回忆' ...

  5. c语言 增加 删除 修改的功能 不用链表,不用链表,单是结构体写入文件后,是否可以进行修改删除...

    不用链表,单是结构体写入文件后,是否可以进行修改删除 #include #include #include typedef struct Node { char  num[20]; char name ...

  6. oracle修改删除数据,[Oracle 错误修改删除数据后的恢复方法

    [Oracle ERP维护人员必备] 错误修改删除数据后的恢复方法 Oracle ERP维护人员工作再小心也难免会有在正式库中误删或者误改数据并且已经commit的情况发生,那么我就要用到 - Ora ...

  7. 如何动态添加修改删除定时任务

    如何动态添加修改删除定时任务 (1)思路说明: (a)首先这里我们需要重新认识一个类ThreadPoolTaskScheduler:线程池任务调度类,能够开启线程池进行任务调度. (b)ThreadP ...

  8. iReport 5.添加修改删除jdbc

    Jaspersoft iReport Designer 5.1.0       启动的时候以前的数据源jdbc找不到,报错:classnotfound:oracle.jdbc.driver.Oracl ...

  9. EasyUI加zTree使用解析 easyui修改操作的表单回显方法 验证框提交表单前验证 datagrid的load方法

    带参提交一次查询,从服务器加载新数据.这是一个神奇的方法 $('#dg').datagrid('load',{code: '01',name: 'name01' }); easyui修改操作的回显方法 ...

最新文章

  1. Atitit..css的体系结构
  2. WCF中的ServiceHost初始化两种方式
  3. fpga该驱动器调试dev_dbg 无输出
  4. Linux 下 pmap 命令的使用
  5. 蓄水池采样(Reservoir Sampling)
  6. 【HDU - 5012】Dice(模拟,bfs)
  7. php://filter利用条件,浅谈php://filter技巧
  8. 简洁自适应个人码农主页源码
  9. Broadcom获得65亿美元过度贷款以收购Brocade
  10. if else if语句格式_Python_if 语句
  11. C# 操作word之在表格中插入新行、删除指定行
  12. c语言输出行末无空格_三个简单的C语言程序
  13. 【Adobe Creative Cloud】
  14. 测坐标天幕靶软件设计_测速天幕靶检定装置与检定方法
  15. List中remove()方法的陷阱以及终极的解决方法!
  16. 可恶,IE中的window.open()
  17. java如何创建一个指定的日期对象
  18. 【算法leetcode】2331. 计算布尔二叉树的值(多语言实现)
  19. Python中[m: ]、[ :n]、[m:n]、[m::n]的含义
  20. 2022-2028全球与中国卫生洁具市场现状及未来发展趋势

热门文章

  1. 树莓派(0):树莓派基础知识
  2. Elasticsearch构建商品搜索系统
  3. 读王竹峰老师 《一个数据库十年老兵的思考与总结》 有感
  4. vue中网址转换图片
  5. ISO质量管理体系认证有哪些流程?
  6. ListBox美化重绘,不积硅步无以至千里
  7. php http form的格式,multipart/form-data 格式的http请求,以及lua构造实现
  8. 日历显示为何成了107年2月18日
  9. 转: 大年三十整理的asp.net资料!(经典)
  10. Linux提权全剧终