EasyUI后台管理系统

目录

1. 引入EasyUI文件

2. 网站首页布局 

2.1 前端代码

2.2 Servlet代码 

2.3 dao层接口代码

2.4 dao层实现类代码

2.5 biz层接口代码

2.6 biz层实现类代码 

3. 书本展示模块 

展示全部书本 and 模糊查询

增加书本

编辑书本 

删除书本 

3.1 前端代码

3.2 js代码

3.3 点击编辑or增加按钮打开的页面 

3.4 查询and模糊查询Servlet代码 

3.5 增加书本Servlet代码

3.6 编辑书本Servlet代码

3.7 删除书本Servlet代码

3.8 dao层接口代码

3.9 dao层实现类代码

 4.0 biz层接口代码

 4.1 biz层实现类代码


项目使用:毕业设计、课程设计、大作业、项目练习、学习演示等...

想要源码的童鞋可以+本人QQ:203114746、QQ邮箱:203114746@qq.com、想学习的童鞋或者对IT行业感兴趣的也可以找我请教哦!!!本人是一个很热情的男孩子喔 

1. 引入EasyUI文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!-- 保存项目名 -->
<%
request.setAttribute("cxt", request.getContextPath());
%>
<!-- 保存js项目名 -->
<script type="text/javascript">
var cxt="${cxt}";
</script>
<!-- 引入EasyUI文件 -->
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/static/js/jquery-easyui-1.5.5.2/themes/default/easyui.css">   
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/static/js/jquery-easyui-1.5.5.2/themes/icon.css">   
<script type="text/javascript" src="${pageContext.request.contextPath }/static/js/jquery-easyui-1.5.5.2/jquery.min.js"></script>   
<script type="text/javascript" src="${pageContext.request.contextPath }/static/js/jquery-easyui-1.5.5.2/jquery.easyui.min.js"></script> 

2. 网站首页布局 

2.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>
<!-- 引入文件 -->
<%@ include file="head.jsp" %>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>平台首页</title>
<script type="text/javascript">
	$(function(){
	/* 给树形菜单添加数据 */
		$('#myUl').tree({    
		    url: cxt+"/queryModuleServlet.do",
		    /* 给树标签添加双击 */
		    onDblClick: function(node){
		    	/* 判断如果是父标签就不增加 */
		    	var nodes = $('#myUl').tree('getChildren', node.target);// 获取未选择节点
				if(nodes<=0){
					/* 判断是否重复 */
					var index = $('#myTb').tabs('exists',node.text);
					if(!index){
						/* 增加表格 */
				    	$('#myTb').tabs('add',{    
				    	    title:node.text,    
				    	    content:'<iframe src='+cxt+'/'+node.url+' frameborder=0px style="width: 100%; height: 100%;"></iframe>',    //内容、跳转指定的页面
				    	    closable:true,    
				    	}); 
					}else{//不存在
						$('#myTb').tabs('select',node.text);
					}
					
				}
			}
		});  

	})
</script>
</head>
<body class="easyui-layout">   
<!-- 面板 -->
    <div data-options="region:'north',title:'上',split:true" style="height:100px;">
    <center><h1 style="font-family: '华文行楷'">蒋明辉工作室后台管理</h1></center>
    </div>   
    <div data-options="region:'south',title:'下',split:true" style="height:100px;">
    <h2>©所有权限归蒋明辉工作室</h2>
    </div>   
    <div data-options="region:'west',title:'左',split:true" style="width:200px;">
    <!-- 列表 -->
    <ul id="myUl" class="easyui-tree">   
</ul>  
    
    </div>   
    <div data-options="region:'center',title:'中间 '" style="padding:5px;background:#eee;">
    <div id="myTb" class="easyui-tabs" style="width:100%;height:100%;">   
    <div title="首页" style="padding:0px;display:none;" >   
        <img style="width:100%;height:100%;" title="我好喜欢你" alt="加载失败" src="${cxt }/static/images/6.webp">
    </div>    
</div>  
    
    </div>   
</body>  
</html>

2.2 Servlet代码 

package com.jmh.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.util.List;

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 com.jmh.biz.IModuleBiz;
import com.jmh.biz.imp.ModuleBiz;
import com.jmh.entity.Module;

/**
 * 绑定左侧Tree
 * @author 蒋明辉
 *
 */
@WebServlet("/queryModuleServlet.do")
public class QueryModuleServlet extends HttpServlet{
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		try {
		//设置编码
		req.setCharacterEncoding("utf-8");
		resp.setContentType("text/html;charset=utf-8");
		//获取对象
		PrintWriter out = resp.getWriter();
		//处理业务逻辑代码
		IModuleBiz imb=new ModuleBiz();
		//查询
		List<Module> queryPid = imb.queryPid(-1);
		//转换JSon格式
		String jsonString = JSON.toJSONString(queryPid);
		out.print(jsonString);
		out.flush();
		out.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

}

 2.3 dao层接口代码

package com.jmh.dao;

import java.sql.SQLException;
import java.util.List;

import com.jmh.entity.Module;

/**
 * 接口
 * @author 蒋明辉
 *
 */
public interface IModuleDao {
	/**
	 * 绑定数据
	 * @param pid 父节点编号
	 * @return
	 * @throws SQLException
	 */
	List<Module> queryPid(Integer pid) throws SQLException;

}

 2.4 dao层实现类代码

package com.jmh.dao.imp;

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 com.jmh.dao.IModuleDao;
import com.jmh.entity.Module;
import com.jmh.util.DBAccess;

/**
 * 实现类
 * @author 蒋明辉
 *
 */
public class ModuleDao implements IModuleDao{
	private Connection con;
	private PreparedStatement ps;
	private ResultSet rs;
	private List<Module> modulels;
	private Module module;
	private String sql;
	private int n;
	/**
	 * 绑定数据
	 * @param pid 父节点编号
	 * @return
	 * @throws SQLException
	 */
	@Override
	public List<Module> queryPid(Integer pid) throws SQLException {
		modulels=new ArrayList<>();
		con=DBAccess.getConnection();
		sql="select id,pid,text,icon,url,sort from t_module where pid=? order by sort asc";
		ps=con.prepareStatement(sql);
		ps.setInt(1, pid);
		rs=ps.executeQuery();
		while(rs.next()) {
			module=new Module(rs.getInt("id"), rs.getInt("pid"), rs.getString("text"), rs.getString("icon"), rs.getString("url"), rs.getInt("sort"), null);
			modulels.add(module);
		}
		return modulels;
	}
}

 2.5 biz层接口代码

package com.jmh.biz;
import java.sql.SQLException;
import java.util.List;

import com.jmh.entity.Module;
/**
 * 接口
 * @author 蒋明辉
 *
 */
public interface IModuleBiz {
	/**
	 * 绑定数据
	 * @param pid 父节点编号
	 * @return
	 * @throws SQLException
	 */
	List<Module> queryPid(Integer pid) throws SQLException;
}

2.6 biz层实现类代码 

package com.jmh.biz.imp;

import java.sql.SQLException;
import java.util.List;

import com.jmh.biz.IModuleBiz;
import com.jmh.dao.IModuleDao;
import com.jmh.dao.imp.ModuleDao;
import com.jmh.entity.Module;

public class ModuleBiz implements IModuleBiz{
	IModuleDao imd=new ModuleDao();
	@Override
	public List<Module> queryPid(Integer pid) throws SQLException {
		List<Module> queryPid = imd.queryPid(pid);
		for (Module module : queryPid) {
			if(null==module.getUrl()||"".equals(module.getUrl())) {
				List<Module> queryPid2 = queryPid(module.getId());
				module.setChildren(queryPid2);
			}
			
		}
		return queryPid;
	}
}

3. 书本展示模块 

  • 展示全部书本 and 模糊查询

  •  增加书本

  • 编辑书本 

  • 删除书本 

3.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>
<!-- 引入 -->
<%@ include file="../../home/head.jsp" %>
<script type="text/javascript" src="${cxt }/static/js/bookList.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 查询组件 -->
<div style="padding: 20px">
<span style="font-weight: bolder;font-size: 15px">书本名称:</span><input id="bookName" class="easyui-textbox" data-options="iconCls:'icon-search'" style="width:300px;"> 
<a id="search" class="easyui-linkbutton" data-options="iconCls:'icon-search'">查询</a> 
</div>
<!-- 表格数据组件 -->
 <div class="easyui-panel" style="padding:10px" data-options="fit:true, border:false">
 <table class="easyui-datagrid" id="myTable" style="width: 100%;height: 80%;"></table>  
 </div>
 <!-- 工具栏组件 -->
<div id="toolbar" style="text-align: right;">
<a id="editBook" class="easyui-linkbutton" data-options="iconCls:'icon-edit',plain:true" /a>
<a id="addBook" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true" /a>
<a id="removeBook" class="easyui-linkbutton" data-options="iconCls:'icon-remove',plain:true" /a>
</div>
<!-- 对话框组件 -->
<div id="myToolbar"></div> 
</body>
</html>

 3.2 js代码

$(function(){
	// 通过 id选择器获取表格
$("#myTable").datagrid({
	// 绑定表头
	columns:[[
	{field:'bookId',title:'书本ID',width:100,align:'center'},    
	{field:'bookName',title:'名称',width:100,align:'center'},    
	{field:'bookPrice',title:'价格',width:100,align:'center'},
	{field:'bookType',title:'类型',width:100,align:'center'}
    ]],
	// 向后台发送 ajax请求
	url: cxt+'/queryBookServlet.do',
	pagination: true,// 设置是否显示分页标签
    singleSelect:true,// 如果为true,则只允许选择一行(否则点一行选择一行,很丑)
    loadMsg:"正在加载数据...",//加载数据的时候显示提示消息
    toolbar: '#toolbar'
});
/* 设置分页组件的文字描述  */
var p = $('#myTable').datagrid('getPager'); 
$(p).pagination({ 
	pageSize: 10,//每页显示的记录条数,默认为10 
	pageList: [10,20,30,50,60,70,80,90,100],//可以设置可以选择的页大小(下拉框的内容)
	beforePageText: '第',//页数文本框前显示的汉字 
	afterPageText: '页    共 {pages} 页', 
	displayMsg: '当前显示 {from} - {to} 条记录   共 {total} 条记录', 
}); 
//加载数据的方法
function query(){
	$("#myTable").datagrid('load',{
		"bookName":$("#bookName").val()
	})
}
//给查询按钮添加点击事件
$("#search").click(function(){
	query();
})
//给增加按钮添加点击事件
$("#addBook").click(function(){
	open();
})
//给修改按钮添加点击事件
$("#editBook").click(function(){
	var row=$("#myTable").datagrid("getSelected");
	if(null==row){//为空
		$.messager.alert("警告","请选中你要修改的行");
		return;
	}
	open(row);
})
//给删除按钮添加点击事件
$("#removeBook").click(function(){
	var row=$("#myTable").datagrid("getSelected");
	if(null!=row){//选中的行不为空
		$.messager.confirm('确认','您确认想要删除记录吗?',function(r){    
		    if (r){//确认删除   
	    		//使用无刷新跳转页面
	    		$.ajax({
	    			url:cxt+'/deleteBookServlet.do',//拿数据的地址
	    			data:{
	    				"bookId":row.bookId
	    				},//很重要
	    			type:'post',//类型
	    			dataType:'JSON',//前端希望后端所返回的数据格式
	    			success:function(data){
	    				if(data.s){//删除成功
	    					$.messager.alert("消息",data.m);
	    					//调用刷新的方法 实现实时刷新
	    					query();
	    				}else{//删除失败
	    					$.messager.alert("警告",data.m);
	    				}
	    			}
	    		})
		    }    
		}); 
	}else{//选中的行为空
		$.messager.alert('警告','请选中你要删除的行!'); 
	}
})
//共用方法
function open(row){
	//初始
	title='增加书本';
	reqServlet='/insertBookServlet.do';
	if(null!=row){//row有值
		title='修改书本';
		reqServlet='/updateBookServlet.do';
	}
	$('#myToolbar').dialog({    
	    title: title,    
	    width: 400,    
	    height: 251,    
	    closed: false,    
	    cache: false,    
	    href: cxt+'/jsp/book/editBook.jsp',  //跳转页面表单页面
	    modal: true ,
	    //添加按钮组
	    buttons:[{
	    	text:'提交',
	    	handler:function(){
	    		//无刷新
	    		$.ajax({
	    			url:cxt+reqServlet,//拿数据的地址
	    			data:$("#bookForm").serialize(),//很重要
	    			type:'post',//类型
	    			dataType:'JSON',//前端希望后端所返回的数据格式
	    			success:function(data){
	    				if(data.s){//增加/修改成功
	    					$.messager.alert("消息",data.m);
	    					//调用刷新的方法 实现实时刷新
	    					query();
	    					//隐藏弹出框
	    					$('#myToolbar').dialog('close');
	    				}else{//增加/修改失败
	    					$.messager.alert("警告",data.m);
	    				}
	    			}
	    		})
	    	}
	    },{
	    	text:'关闭',
	    	handler:function(){
	    		$('#myToolbar').dialog('close'); 
	    	}
	    }],
	    onLoad:function(){
	    	//如果row有值就绑定数据
	    	if(row){
	    		$('#bookForm').form('load',row);// 读取表单的URL
	    	}
	    }
	}) 
}

});

3.3 点击编辑or增加按钮打开的页面 

<%@ 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>
<!-- 引入 -->
<%@ include file="../../home/head.jsp" %>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<div>
		<form id="bookForm">   
		<input name="bookId"  type="hidden"/><!--定义一个隐藏的文本框  -->
		<!-- 书本名称  -->
		    <div style="margin: 15px;">   
		        <label for="name">书名:</label>   
		        <input class="easyui-textbox" name="bookName"  style="width:300px" 
		        				data-options="required:true"> 
		    </div>   
		    <!-- 书本价格  -->
		    <div style="margin: 15px;">   
		        <label for="price">价格:</label>   
		        <input class="easyui-textbox" name="bookPrice"  style="width:300px" 
		        				data-options="required:true"> 
		    </div>
		    <!-- 书本类型 -->
		    <div style="margin: 15px;">   
		        <label for="type">类型:</label>   
		        <input class="easyui-textbox"  name="bookType" style="width:300px" data-options="required:true"> 
		    </div>  
		</form>
	</div>
</body>
</html>

3.4 查询and模糊查询Servlet代码 

package com.jmh.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
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 javax.servlet.http.HttpSession;

import com.alibaba.fastjson.JSON;
import com.jmh.biz.IBookBiz;
import com.jmh.biz.imp.BookBiz;
import com.jmh.entity.Book;

/**
 * 查询所有t_book表数据
 * @author 蒋明辉
 *
 */
@WebServlet("/queryBookServlet.do")
public class QueryBookServlet extends HttpServlet{
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		this.doGet(req, resp);
	}
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		try {
		//设置编码
		req.setCharacterEncoding("utf-8");
		resp.setContentType("text/html;charset=utf-8");
		//获取对象
		HttpSession session = req.getSession();
		PrintWriter out = resp.getWriter();
		//设置当前页码的参数
		Integer pageIndex=1;
		//获取前端传来的参数
		String bookName = req.getParameter("bookName");//书本名称关键字
		String page = req.getParameter("page");//页码
		String rows = req.getParameter("rows");//页大小
		//判断如果前端传来的页码有值就赋给页码变量
		if(null!=page&&!"".equals(page)) {
			pageIndex=Integer.parseInt(page);
		}
		//处理业务逻辑层代码
		IBookBiz ibb=new BookBiz();
		//查询全部方法
		List<Book> query = ibb.query(bookName, pageIndex, Integer.parseInt(rows));
		//查询总数据量方法
		Integer sumCount = ibb.sumCount(bookName);
		//将获取到的数据保存到map集合里面
		Map<Object, Object> m=new HashMap<Object, Object>();
		m.put("rows", query);//总数据
		m.put("total", sumCount);//总数据量
		//转换为JOSN格式
		String jsonString = JSON.toJSONString(m);
		//输送到前端
		out.print(jsonString);
		out.flush();
		out.close();
		} catch (NumberFormatException | SQLException e) {
			e.printStackTrace();
		}
	}

}

 3.5 增加书本Servlet代码

package com.jmh.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
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 javax.servlet.http.HttpSession;

import com.alibaba.fastjson.JSON;
import com.jmh.biz.IBookBiz;
import com.jmh.biz.imp.BookBiz;
import com.jmh.entity.Book;

/**
 * 增加书本
 * @author 蒋明辉
 *
 */
@WebServlet("/insertBookServlet.do")
public class InsertBookServlet extends HttpServlet{
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		//设置编码
		req.setCharacterEncoding("utf-8");
		resp.setContentType("text/html;charset=utf-8");
		//获取对象
		HttpSession session = req.getSession();
		PrintWriter out=resp.getWriter();
		//获取前端获取来的参数
		String bookName=req.getParameter("bookName");//书本名称
		String bookPrice=req.getParameter("bookPrice");//书本价格
		String bookType=req.getParameter("bookType");//书本类型
		//实例化对象
		Book book=new Book();
		book.setBookName(bookName);
		book.setBookPrice(Double.parseDouble(bookPrice));
		book.setBookType(bookType);
		//处理业务逻辑代码
		IBookBiz ibb=new BookBiz();
		Map<Object, Object> m=new HashMap<>();
		try {
			ibb.insert(book);
			//没有进入SQLException代表增加成功
			m.put("s", true);
			m.put("m", "增加成功");
		} catch (SQLException e) {
			//代表失败
			m.put("s", false);
			m.put("m", "增加失败");
			e.printStackTrace();
		}
		String jsonString = JSON.toJSONString(m);
		out.print(jsonString);
		out.flush();
		out.close();
	}

}

 3.6 编辑书本Servlet代码

package com.jmh.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
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.alibaba.fastjson.JSON;
import com.jmh.biz.IBookBiz;
import com.jmh.biz.imp.BookBiz;
import com.jmh.entity.Book;

/**
 * 修改书本
 * @author 蒋明辉
 *
 */
@WebServlet("/updateBookServlet.do")
public class UpdateBookServlet extends HttpServlet{
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
			//设置编码
			req.setCharacterEncoding("utf-8");
			resp.setContentType("text/html;charset=utf-8");
			//获取对象
			PrintWriter out = resp.getWriter();
			//获取前端传送的参数
			String bookId=req.getParameter("bookId");
			String bookName=req.getParameter("bookName");
			String bookPrice=req.getParameter("bookPrice");
			String bookType=req.getParameter("bookType");
			/*System.out.println(bookId);
			System.out.println(bookName);
			System.out.println(bookPrice);
			System.out.println(bookType);*/
			//处理业务逻辑代码
			IBookBiz ibb=new BookBiz();
			//实例化一个书本对象
			Book book=new Book();
			book.setBookId(Integer.parseInt(bookId));
			book.setBookName(bookName);
			book.setBookPrice(Double.parseDouble(bookPrice));
			book.setBookType(bookType);
			//定义map集合
			Map<Object, Object> m=new HashMap<>();
			try {
				ibb.update(book);
				//成功
				m.put("s", true);
				m.put("m", "修改成功");
			} catch (SQLException e) {
				//失败
				m.put("s", false);
				m.put("m", "修改失败");
				e.printStackTrace();
			}
			//转换为json格式 并输出到前端
			String jsonString = JSON.toJSONString(m);
			out.print(jsonString);
			out.flush();
			out.close();

}
}

 3.7 删除书本Servlet代码

package com.jmh.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
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 javax.servlet.http.HttpSession;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.support.hsf.HSFJSONUtils;
import com.jmh.biz.IBookBiz;
import com.jmh.biz.imp.BookBiz;

/**
 * 删除书本
 * @author 蒋明辉
 *
 */
@WebServlet("/deleteBookServlet.do")
public class DeleteBookServlet extends HttpServlet{
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
	doGet(req, resp);
	}
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		//设置编码
		req.setCharacterEncoding("utf-8");
		resp.setContentType("text/html;charset=utf-8");
		//获取对象
		HttpSession session = req.getSession();
		PrintWriter out=resp.getWriter();
		//获取前端传来的参数
		String bookId = req.getParameter("bookId");
		System.out.println("要删除的编号"+bookId);
		//处理业务逻辑代码
		IBookBiz ibb=new BookBiz();
		//定义map集合
		Map<Object, Object> m=new HashMap<>();
		try {
			ibb.delete(bookId);
			m.put("s", true);
			m.put("m", "删除成功!");
		} catch (SQLException e) {
			//删除失败
			m.put("s", false);
			m.put("m", "删除失败!");
			e.printStackTrace();
		}
		//输送到前端
		String jsonString = JSON.toJSONString(m);
		//输送到前端
		out.print(jsonString);
		out.flush();
		out.close();
	}

}

 3.8 dao层接口代码

package com.jmh.dao;

import java.sql.SQLException;
import java.util.List;

import com.jmh.entity.Book;

public interface IBookDao {
	/**
	 * 带有模糊查询的分页方法
	 * @param bookName 模糊查询关键字
	 * @param pageIndex 当前开始的条数
	 * @param pageSize 页大小
	 * @return 结果集对象
	 * @throws SQLException 异常
	 */
	List<Book> query(String bookName, Integer pageIndex, Integer pageSize) throws SQLException;
	/**
	 * 带有模糊查询的分页方法
	 * @param bookName 模糊查询关键字
	 * @param pageIndex 当前开始的条数
	 * @param pageSize 页大小
	 * @return 结果集对象
	 * @throws SQLException 异常
	 */
	Integer sumCount(String bookName) throws SQLException;
	/**
	 * 增加书本的方法
	 * @param b 书本对象
	 * @throws SQLException 异常
	 */
	void insert(Book b) throws SQLException;
	/**
	 * 根据书本编号删除书本的方法
	 * @param bookid 书本编号
	 * @throws SQLException
	 */
	void delete(String bookid) throws SQLException;
	/**
	 * 根据书本编号修改书本信息的方法
	 * @param book 书本对象
	 * @throws SQLException
	 */
	void update(Book book) throws SQLException;

}

 3.9 dao层实现类代码

package com.jmh.dao.imp;

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 com.jmh.dao.IBookDao;
import com.jmh.entity.Book;
import com.jmh.entity.Module;
import com.jmh.util.DBAccess;

public class BookDao implements IBookDao{
	private Connection con;
	private PreparedStatement ps;
	private ResultSet rs;
	private List<Book> bookls;
	private Book book;
	private String sql;
	private Integer n;
	private Integer sumCount;//总数据量
	/**
	 * 带有模糊查询的分页方法
	 * @param bookName 模糊查询关键字
	 * @param pageIndex 当前开始的条数
	 * @param pageSize 页大小
	 * @return 结果集对象
	 * @throws SQLException 异常
	 */
	@Override
	public List<Book> query(String bookName,Integer pageIndex,Integer pageSize) throws SQLException {//模糊查询关键字、最大页码、页大小
		Integer begin=(pageIndex-1)*pageSize;
		bookls=new ArrayList<>();
		con=DBAccess.getConnection();
		//纯纯的分页查询
		sql="select bookId,bookName,bookPrice,bookType,bookNamePinYin from t_book where bookId limit ?,? ";
		if(null!=bookName&&!"".equals(bookName)) {//带模糊查询的分页
			sql="select bookId,bookName,bookPrice,bookType,bookNamePinYin from t_book where bookName like ? or bookNamePinYin like ? and bookId limit ?,?";
		}
		ps=con.prepareStatement(sql);
		//判断进入了哪一个程序就给哪一个程序赋值
		if(null!=bookName&&!"".equals(bookName)) {
			ps.setString(1, "%"+bookName+"%");//模糊查询关键字
			ps.setString(2, "%"+bookName+"%");//拼音模糊查询关键字
			ps.setInt(3, begin);//每页开始的条数
			ps.setInt(4, pageSize);//页大小
		}else {//分页字段赋值
			ps.setInt(1, begin);//每页开始的条数
			ps.setInt(2, pageSize);//页大小
		}
		rs=ps.executeQuery();
		while(rs.next()) {
			book=new Book(rs.getInt("bookId"), rs.getString("bookName"), rs.getDouble("bookPrice"), rs.getString("bookType"), rs.getString("bookNamePinYin"));
			bookls.add(book);
		}
		DBAccess.close(con, ps, rs);
		return bookls;
	}
	/**
	 * 总数据量的方法
	 * @param bookName 模糊查询关键字
	 * @return 影响条数
	 * @throws SQLException 异常
	 */
	@Override
	public Integer sumCount(String bookName) throws SQLException {
		con=DBAccess.getConnection();
		sql="select count(0) from t_book";
		//判断如果是模糊查询就追加sql语句
		if(null!=bookName&&!"".equals(bookName)) {
			sql+=" where bookName like ? or bookNamePinYin like ?";
		}
		ps=con.prepareStatement(sql);
		//如果是模糊查询就给字段赋值
		if(null!=bookName&&!"".equals(bookName)) {
			ps.setString(1, "%"+bookName+"%");//模糊查询关键字
			ps.setString(2, "%"+bookName+"%");//拼音模糊查询关键字
		}
		rs=ps.executeQuery();
		if(rs.next()) {
			//给素=所有影响条数赋给定义的变量
			sumCount=rs.getInt(1);
		}
		DBAccess.close(con, ps, rs);
		return sumCount;
	}
	/**
	 * 增加书本的方法
	 * @param b 书本对象
	 * @throws SQLException 异常
	 */
	@Override
	public void insert(Book b) throws SQLException {
		con=DBAccess.getConnection();
		sql="insert into t_book(bookName,bookPrice,bookType,BookNamePinYin) values"
				+ "(?,?,?,?)";
		ps=con.prepareStatement(sql);
		ps.setString(1, b.getBookName());
		ps.setDouble(2, b.getBookPrice());
		ps.setString(3, b.getBookType());
		ps.setString(4, b.getBookNamePinYin());
		n=ps.executeUpdate();
		DBAccess.close(con, ps, rs);
	}
	/**
	 * 根据书本编号删除书本的方法
	 * @param bookid 书本编号
	 * @throws SQLException
	 */
	@Override
	public void delete(String bookid) throws SQLException {
		con=DBAccess.getConnection();
		sql="delete from t_book where bookId=?";
		ps=con.prepareStatement(sql);
		ps.setString(1, bookid);
		ps.executeUpdate();
		DBAccess.close(con, ps, rs);
	}
	/**
	 * 根据书本编号修改书本信息的方法
	 * @param book 书本对象
	 * @throws SQLException
	 */
	@Override
	public void update(Book book) throws SQLException {
		con=DBAccess.getConnection();
		sql="update t_book set bookName=?,bookPrice=?,bookType=? where bookId=?";
		ps=con.prepareStatement(sql);
		//给占位符赋值
		ps.setString(1, book.getBookName());
		ps.setDouble(2, book.getBookPrice());
		ps.setString(3, book.getBookType());
		ps.setInt(4, book.getBookId());
		ps.executeUpdate();
		DBAccess.close(con, ps, rs);
	}
}

 4.0 biz层接口代码

package com.jmh.biz;

import java.sql.SQLException;
import java.util.List;

import com.jmh.entity.Book;

public interface IBookBiz {
	/**
	 * 带有模糊查询的分页方法
	 * @param bookName 模糊查询关键字
	 * @param pageIndex 当前开始的条数
	 * @param pageSize 页大小
	 * @return 结果集对象
	 * @throws SQLException 异常
	 */
	List<Book> query(String bookName, Integer pageIndex, Integer pageSize) throws SQLException;
	/**
	 * 带有模糊查询的分页方法
	 * @param bookName 模糊查询关键字
	 * @param pageIndex 当前开始的条数
	 * @param pageSize 页大小
	 * @return 结果集对象
	 * @throws SQLException 异常
	 */
	Integer sumCount(String bookName) throws SQLException;
	/**
	 * 增加书本的方法
	 * @param b 书本对象
	 * @throws SQLException 异常
	 */
	void insert(Book b) throws SQLException;
	/**
	 * 根据书本编号删除书本的方法
	 * @param bookid 书本编号
	 * @throws SQLException
	 */
	void delete(String bookid) throws SQLException;
	/**
	 * 根据书本编号修改书本信息的方法
	 * @param book 书本对象
	 * @throws SQLException
	 */
	void update(Book book) throws SQLException;
	
}

 4.1 biz层实现类代码

package com.jmh.biz.imp;

import java.sql.SQLException;
import java.util.List;

import com.jmh.biz.IBookBiz;
import com.jmh.dao.IBookDao;
import com.jmh.dao.imp.BookDao;
import com.jmh.entity.Book;

public class BookBiz implements IBookBiz{
		IBookDao ibd=new BookDao();
	@Override
	public List<Book> query(String bookName, Integer pageIndex, Integer pageSize) throws SQLException {
		// TODO Auto-generated method stub
		return ibd.query(bookName, pageIndex, pageSize);
	}

	@Override
	public Integer sumCount(String bookName) throws SQLException {
		// TODO Auto-generated method stub
		return ibd.sumCount(bookName);
	}

	@Override
	public void insert(Book b) throws SQLException {
			ibd.insert(b);
	}

	@Override
	public void delete(String bookid) throws SQLException {
		ibd.delete(bookid);
	}

	@Override
	public void update(Book book) throws SQLException {
		ibd.update(book);
	}

}


                                            

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值