• 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文件

    1. <%@ page language="java" contentType="text/html; charset=UTF-8"
    2. pageEncoding="UTF-8"%>
    3. <%
    4. request.setAttribute("cxt", request.getContextPath());
    5. %>
    6. <script type="text/javascript">
    7. var cxt="${cxt}";
    8. script>
    9. <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/static/js/jquery-easyui-1.5.5.2/themes/default/easyui.css">
    10. <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/static/js/jquery-easyui-1.5.5.2/themes/icon.css">
    11. <script type="text/javascript" src="${pageContext.request.contextPath }/static/js/jquery-easyui-1.5.5.2/jquery.min.js">script>
    12. <script type="text/javascript" src="${pageContext.request.contextPath }/static/js/jquery-easyui-1.5.5.2/jquery.easyui.min.js">script>

    2. 网站首页布局 

    2.1 前端代码

    1. <%@ page language="java" contentType="text/html; charset=UTF-8"
    2. pageEncoding="UTF-8"%>
    3. html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    4. <html>
    5. <head>
    6. <%@ include file="head.jsp" %>
    7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    8. <title>平台首页title>
    9. <script type="text/javascript">
    10. $(function(){
    11. /* 给树形菜单添加数据 */
    12. $('#myUl').tree({
    13. url: cxt+"/queryModuleServlet.do",
    14. /* 给树标签添加双击 */
    15. onDblClick: function(node){
    16. /* 判断如果是父标签就不增加 */
    17. var nodes = $('#myUl').tree('getChildren', node.target);// 获取未选择节点
    18. if(nodes<=0){
    19. /* 判断是否重复 */
    20. var index = $('#myTb').tabs('exists',node.text);
    21. if(!index){
    22. /* 增加表格 */
    23. $('#myTb').tabs('add',{
    24. title:node.text,
    25. content:'', //内容、跳转指定的页面
    26. closable:true,
    27. });
    28. }else{//不存在
    29. $('#myTb').tabs('select',node.text);
    30. }
    31. }
    32. }
    33. });
    34. })
    35. script>
    36. head>
    37. <body class="easyui-layout">
    38. <div data-options="region:'north',title:'上',split:true" style="height:100px;">
    39. <center><h1 style="font-family: '华文行楷'">蒋明辉工作室后台管理h1>center>
    40. div>
    41. <div data-options="region:'south',title:'下',split:true" style="height:100px;">
    42. <h2>©所有权限归蒋明辉工作室h2>
    43. div>
    44. <div data-options="region:'west',title:'左',split:true" style="width:200px;">
    45. <ul id="myUl" class="easyui-tree">
    46. ul>
    47. div>
    48. <div data-options="region:'center',title:'中间 '" style="padding:5px;background:#eee;">
    49. <div id="myTb" class="easyui-tabs" style="width:100%;height:100%;">
    50. <div title="首页" style="padding:0px;display:none;" >
    51. <img style="width:100%;height:100%;" title="我好喜欢你" alt="加载失败" src="${cxt }/static/images/6.webp">
    52. div>
    53. div>
    54. div>
    55. body>
    56. html>

    2.2 Servlet代码 

    1. package com.jmh.servlet;
    2. import java.io.IOException;
    3. import java.io.PrintWriter;
    4. import java.sql.SQLException;
    5. import java.util.List;
    6. import javax.servlet.ServletException;
    7. import javax.servlet.annotation.WebServlet;
    8. import javax.servlet.http.HttpServlet;
    9. import javax.servlet.http.HttpServletRequest;
    10. import javax.servlet.http.HttpServletResponse;
    11. import com.alibaba.fastjson.JSON;
    12. import com.jmh.biz.IModuleBiz;
    13. import com.jmh.biz.imp.ModuleBiz;
    14. import com.jmh.entity.Module;
    15. /**
    16. * 绑定左侧Tree
    17. * @author 蒋明辉
    18. *
    19. */
    20. @WebServlet("/queryModuleServlet.do")
    21. public class QueryModuleServlet extends HttpServlet{
    22. @Override
    23. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    24. doGet(req, resp);
    25. }
    26. @Override
    27. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    28. try {
    29. //设置编码
    30. req.setCharacterEncoding("utf-8");
    31. resp.setContentType("text/html;charset=utf-8");
    32. //获取对象
    33. PrintWriter out = resp.getWriter();
    34. //处理业务逻辑代码
    35. IModuleBiz imb=new ModuleBiz();
    36. //查询
    37. List queryPid = imb.queryPid(-1);
    38. //转换JSon格式
    39. String jsonString = JSON.toJSONString(queryPid);
    40. out.print(jsonString);
    41. out.flush();
    42. out.close();
    43. } catch (SQLException e) {
    44. e.printStackTrace();
    45. }
    46. }
    47. }

     2.3 dao层接口代码

    1. package com.jmh.dao;
    2. import java.sql.SQLException;
    3. import java.util.List;
    4. import com.jmh.entity.Module;
    5. /**
    6. * 接口
    7. * @author 蒋明辉
    8. *
    9. */
    10. public interface IModuleDao {
    11. /**
    12. * 绑定数据
    13. * @param pid 父节点编号
    14. * @return
    15. * @throws SQLException
    16. */
    17. List queryPid(Integer pid) throws SQLException;
    18. }

     2.4 dao层实现类代码

    1. package com.jmh.dao.imp;
    2. import java.sql.Connection;
    3. import java.sql.PreparedStatement;
    4. import java.sql.ResultSet;
    5. import java.sql.SQLException;
    6. import java.util.ArrayList;
    7. import java.util.List;
    8. import com.jmh.dao.IModuleDao;
    9. import com.jmh.entity.Module;
    10. import com.jmh.util.DBAccess;
    11. /**
    12. * 实现类
    13. * @author 蒋明辉
    14. *
    15. */
    16. public class ModuleDao implements IModuleDao{
    17. private Connection con;
    18. private PreparedStatement ps;
    19. private ResultSet rs;
    20. private List modulels;
    21. private Module module;
    22. private String sql;
    23. private int n;
    24. /**
    25. * 绑定数据
    26. * @param pid 父节点编号
    27. * @return
    28. * @throws SQLException
    29. */
    30. @Override
    31. public List queryPid(Integer pid) throws SQLException {
    32. modulels=new ArrayList<>();
    33. con=DBAccess.getConnection();
    34. sql="select id,pid,text,icon,url,sort from t_module where pid=? order by sort asc";
    35. ps=con.prepareStatement(sql);
    36. ps.setInt(1, pid);
    37. rs=ps.executeQuery();
    38. while(rs.next()) {
    39. module=new Module(rs.getInt("id"), rs.getInt("pid"), rs.getString("text"), rs.getString("icon"), rs.getString("url"), rs.getInt("sort"), null);
    40. modulels.add(module);
    41. }
    42. return modulels;
    43. }
    44. }

     2.5 biz层接口代码

    1. package com.jmh.biz;
    2. import java.sql.SQLException;
    3. import java.util.List;
    4. import com.jmh.entity.Module;
    5. /**
    6. * 接口
    7. * @author 蒋明辉
    8. *
    9. */
    10. public interface IModuleBiz {
    11. /**
    12. * 绑定数据
    13. * @param pid 父节点编号
    14. * @return
    15. * @throws SQLException
    16. */
    17. List queryPid(Integer pid) throws SQLException;
    18. }

    2.6 biz层实现类代码 

    1. package com.jmh.biz.imp;
    2. import java.sql.SQLException;
    3. import java.util.List;
    4. import com.jmh.biz.IModuleBiz;
    5. import com.jmh.dao.IModuleDao;
    6. import com.jmh.dao.imp.ModuleDao;
    7. import com.jmh.entity.Module;
    8. public class ModuleBiz implements IModuleBiz{
    9. IModuleDao imd=new ModuleDao();
    10. @Override
    11. public List queryPid(Integer pid) throws SQLException {
    12. List queryPid = imd.queryPid(pid);
    13. for (Module module : queryPid) {
    14. if(null==module.getUrl()||"".equals(module.getUrl())) {
    15. List queryPid2 = queryPid(module.getId());
    16. module.setChildren(queryPid2);
    17. }
    18. }
    19. return queryPid;
    20. }
    21. }

    3. 书本展示模块 

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

    •  增加书本

    • 编辑书本 

    • 删除书本 

    3.1 前端代码

    1. <%@ page language="java" contentType="text/html; charset=UTF-8"
    2. pageEncoding="UTF-8"%>
    3. html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    4. <html>
    5. <head>
    6. <%@ include file="../../home/head.jsp" %>
    7. <script type="text/javascript" src="${cxt }/static/js/bookList.js">script>
    8. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    9. <title>Insert title heretitle>
    10. head>
    11. <body>
    12. <div style="padding: 20px">
    13. <span style="font-weight: bolder;font-size: 15px">书本名称:span><input id="bookName" class="easyui-textbox" data-options="iconCls:'icon-search'" style="width:300px;">
    14. <a id="search" class="easyui-linkbutton" data-options="iconCls:'icon-search'">查询a>
    15. div>
    16. <div class="easyui-panel" style="padding:10px" data-options="fit:true, border:false">
    17. <table class="easyui-datagrid" id="myTable" style="width: 100%;height: 80%;">table>
    18. div>
    19. <div id="toolbar" style="text-align: right;">
    20. <a id="editBook" class="easyui-linkbutton" data-options="iconCls:'icon-edit',plain:true" /a>
    21. <a id="addBook" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true" /a>
    22. <a id="removeBook" class="easyui-linkbutton" data-options="iconCls:'icon-remove',plain:true" /a>
    23. div>
    24. <div id="myToolbar">div>
    25. body>
    26. html>

     3.2 js代码

    1. $(function(){
    2. // 通过 id选择器获取表格
    3. $("#myTable").datagrid({
    4. // 绑定表头
    5. columns:[[
    6. {field:'bookId',title:'书本ID',width:100,align:'center'},
    7. {field:'bookName',title:'名称',width:100,align:'center'},
    8. {field:'bookPrice',title:'价格',width:100,align:'center'},
    9. {field:'bookType',title:'类型',width:100,align:'center'}
    10. ]],
    11. // 向后台发送 ajax请求
    12. url: cxt+'/queryBookServlet.do',
    13. pagination: true,// 设置是否显示分页标签
    14. singleSelect:true,// 如果为true,则只允许选择一行(否则点一行选择一行,很丑)
    15. loadMsg:"正在加载数据...",//加载数据的时候显示提示消息
    16. toolbar: '#toolbar'
    17. });
    18. /* 设置分页组件的文字描述 */
    19. var p = $('#myTable').datagrid('getPager');
    20. $(p).pagination({
    21. pageSize: 10,//每页显示的记录条数,默认为10
    22. pageList: [10,20,30,50,60,70,80,90,100],//可以设置可以选择的页大小(下拉框的内容)
    23. beforePageText: '第',//页数文本框前显示的汉字
    24. afterPageText: '页 共 {pages} 页',
    25. displayMsg: '当前显示 {from} - {to} 条记录 共 {total} 条记录',
    26. });
    27. //加载数据的方法
    28. function query(){
    29. $("#myTable").datagrid('load',{
    30. "bookName":$("#bookName").val()
    31. })
    32. }
    33. //给查询按钮添加点击事件
    34. $("#search").click(function(){
    35. query();
    36. })
    37. //给增加按钮添加点击事件
    38. $("#addBook").click(function(){
    39. open();
    40. })
    41. //给修改按钮添加点击事件
    42. $("#editBook").click(function(){
    43. var row=$("#myTable").datagrid("getSelected");
    44. if(null==row){//为空
    45. $.messager.alert("警告","请选中你要修改的行");
    46. return;
    47. }
    48. open(row);
    49. })
    50. //给删除按钮添加点击事件
    51. $("#removeBook").click(function(){
    52. var row=$("#myTable").datagrid("getSelected");
    53. if(null!=row){//选中的行不为空
    54. $.messager.confirm('确认','您确认想要删除记录吗?',function(r){
    55. if (r){//确认删除
    56. //使用无刷新跳转页面
    57. $.ajax({
    58. url:cxt+'/deleteBookServlet.do',//拿数据的地址
    59. data:{
    60. "bookId":row.bookId
    61. },//很重要
    62. type:'post',//类型
    63. dataType:'JSON',//前端希望后端所返回的数据格式
    64. success:function(data){
    65. if(data.s){//删除成功
    66. $.messager.alert("消息",data.m);
    67. //调用刷新的方法 实现实时刷新
    68. query();
    69. }else{//删除失败
    70. $.messager.alert("警告",data.m);
    71. }
    72. }
    73. })
    74. }
    75. });
    76. }else{//选中的行为空
    77. $.messager.alert('警告','请选中你要删除的行!');
    78. }
    79. })
    80. //共用方法
    81. function open(row){
    82. //初始
    83. title='增加书本';
    84. reqServlet='/insertBookServlet.do';
    85. if(null!=row){//row有值
    86. title='修改书本';
    87. reqServlet='/updateBookServlet.do';
    88. }
    89. $('#myToolbar').dialog({
    90. title: title,
    91. width: 400,
    92. height: 251,
    93. closed: false,
    94. cache: false,
    95. href: cxt+'/jsp/book/editBook.jsp', //跳转页面表单页面
    96. modal: true ,
    97. //添加按钮组
    98. buttons:[{
    99. text:'提交',
    100. handler:function(){
    101. //无刷新
    102. $.ajax({
    103. url:cxt+reqServlet,//拿数据的地址
    104. data:$("#bookForm").serialize(),//很重要
    105. type:'post',//类型
    106. dataType:'JSON',//前端希望后端所返回的数据格式
    107. success:function(data){
    108. if(data.s){//增加/修改成功
    109. $.messager.alert("消息",data.m);
    110. //调用刷新的方法 实现实时刷新
    111. query();
    112. //隐藏弹出框
    113. $('#myToolbar').dialog('close');
    114. }else{//增加/修改失败
    115. $.messager.alert("警告",data.m);
    116. }
    117. }
    118. })
    119. }
    120. },{
    121. text:'关闭',
    122. handler:function(){
    123. $('#myToolbar').dialog('close');
    124. }
    125. }],
    126. onLoad:function(){
    127. //如果row有值就绑定数据
    128. if(row){
    129. $('#bookForm').form('load',row);// 读取表单的URL
    130. }
    131. }
    132. })
    133. }
    134. });

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

    1. <%@ page language="java" contentType="text/html; charset=UTF-8"
    2. pageEncoding="UTF-8"%>
    3. html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    4. <html>
    5. <head>
    6. <%@ include file="../../home/head.jsp" %>
    7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    8. <title>Insert title heretitle>
    9. head>
    10. <body>
    11. <div>
    12. <form id="bookForm">
    13. <input name="bookId" type="hidden"/>
    14. <div style="margin: 15px;">
    15. <label for="name">书名:label>
    16. <input class="easyui-textbox" name="bookName" style="width:300px"
    17. data-options="required:true">
    18. div>
    19. <div style="margin: 15px;">
    20. <label for="price">价格:label>
    21. <input class="easyui-textbox" name="bookPrice" style="width:300px"
    22. data-options="required:true">
    23. div>
    24. <div style="margin: 15px;">
    25. <label for="type">类型:label>
    26. <input class="easyui-textbox" name="bookType" style="width:300px" data-options="required:true">
    27. div>
    28. form>
    29. div>
    30. body>
    31. html>

    3.4 查询and模糊查询Servlet代码 

    1. package com.jmh.servlet;
    2. import java.io.IOException;
    3. import java.io.PrintWriter;
    4. import java.sql.SQLException;
    5. import java.util.HashMap;
    6. import java.util.List;
    7. import java.util.Map;
    8. import javax.servlet.ServletException;
    9. import javax.servlet.annotation.WebServlet;
    10. import javax.servlet.http.HttpServlet;
    11. import javax.servlet.http.HttpServletRequest;
    12. import javax.servlet.http.HttpServletResponse;
    13. import javax.servlet.http.HttpSession;
    14. import com.alibaba.fastjson.JSON;
    15. import com.jmh.biz.IBookBiz;
    16. import com.jmh.biz.imp.BookBiz;
    17. import com.jmh.entity.Book;
    18. /**
    19. * 查询所有t_book表数据
    20. * @author 蒋明辉
    21. *
    22. */
    23. @WebServlet("/queryBookServlet.do")
    24. public class QueryBookServlet extends HttpServlet{
    25. @Override
    26. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    27. this.doGet(req, resp);
    28. }
    29. @Override
    30. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    31. try {
    32. //设置编码
    33. req.setCharacterEncoding("utf-8");
    34. resp.setContentType("text/html;charset=utf-8");
    35. //获取对象
    36. HttpSession session = req.getSession();
    37. PrintWriter out = resp.getWriter();
    38. //设置当前页码的参数
    39. Integer pageIndex=1;
    40. //获取前端传来的参数
    41. String bookName = req.getParameter("bookName");//书本名称关键字
    42. String page = req.getParameter("page");//页码
    43. String rows = req.getParameter("rows");//页大小
    44. //判断如果前端传来的页码有值就赋给页码变量
    45. if(null!=page&&!"".equals(page)) {
    46. pageIndex=Integer.parseInt(page);
    47. }
    48. //处理业务逻辑层代码
    49. IBookBiz ibb=new BookBiz();
    50. //查询全部方法
    51. List query = ibb.query(bookName, pageIndex, Integer.parseInt(rows));
    52. //查询总数据量方法
    53. Integer sumCount = ibb.sumCount(bookName);
    54. //将获取到的数据保存到map集合里面
    55. Map m=new HashMap();
    56. m.put("rows", query);//总数据
    57. m.put("total", sumCount);//总数据量
    58. //转换为JOSN格式
    59. String jsonString = JSON.toJSONString(m);
    60. //输送到前端
    61. out.print(jsonString);
    62. out.flush();
    63. out.close();
    64. } catch (NumberFormatException | SQLException e) {
    65. e.printStackTrace();
    66. }
    67. }
    68. }

     3.5 增加书本Servlet代码

    1. package com.jmh.servlet;
    2. import java.io.IOException;
    3. import java.io.PrintWriter;
    4. import java.sql.SQLException;
    5. import java.util.HashMap;
    6. import java.util.Map;
    7. import javax.servlet.ServletException;
    8. import javax.servlet.annotation.WebServlet;
    9. import javax.servlet.http.HttpServlet;
    10. import javax.servlet.http.HttpServletRequest;
    11. import javax.servlet.http.HttpServletResponse;
    12. import javax.servlet.http.HttpSession;
    13. import com.alibaba.fastjson.JSON;
    14. import com.jmh.biz.IBookBiz;
    15. import com.jmh.biz.imp.BookBiz;
    16. import com.jmh.entity.Book;
    17. /**
    18. * 增加书本
    19. * @author 蒋明辉
    20. *
    21. */
    22. @WebServlet("/insertBookServlet.do")
    23. public class InsertBookServlet extends HttpServlet{
    24. @Override
    25. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    26. doGet(req, resp);
    27. }
    28. @Override
    29. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    30. //设置编码
    31. req.setCharacterEncoding("utf-8");
    32. resp.setContentType("text/html;charset=utf-8");
    33. //获取对象
    34. HttpSession session = req.getSession();
    35. PrintWriter out=resp.getWriter();
    36. //获取前端获取来的参数
    37. String bookName=req.getParameter("bookName");//书本名称
    38. String bookPrice=req.getParameter("bookPrice");//书本价格
    39. String bookType=req.getParameter("bookType");//书本类型
    40. //实例化对象
    41. Book book=new Book();
    42. book.setBookName(bookName);
    43. book.setBookPrice(Double.parseDouble(bookPrice));
    44. book.setBookType(bookType);
    45. //处理业务逻辑代码
    46. IBookBiz ibb=new BookBiz();
    47. Map m=new HashMap<>();
    48. try {
    49. ibb.insert(book);
    50. //没有进入SQLException代表增加成功
    51. m.put("s", true);
    52. m.put("m", "增加成功");
    53. } catch (SQLException e) {
    54. //代表失败
    55. m.put("s", false);
    56. m.put("m", "增加失败");
    57. e.printStackTrace();
    58. }
    59. String jsonString = JSON.toJSONString(m);
    60. out.print(jsonString);
    61. out.flush();
    62. out.close();
    63. }
    64. }

     3.6 编辑书本Servlet代码

    1. package com.jmh.servlet;
    2. import java.io.IOException;
    3. import java.io.PrintWriter;
    4. import java.sql.SQLException;
    5. import java.util.HashMap;
    6. import java.util.Map;
    7. import javax.servlet.ServletException;
    8. import javax.servlet.annotation.WebServlet;
    9. import javax.servlet.http.HttpServlet;
    10. import javax.servlet.http.HttpServletRequest;
    11. import javax.servlet.http.HttpServletResponse;
    12. import com.alibaba.fastjson.JSON;
    13. import com.jmh.biz.IBookBiz;
    14. import com.jmh.biz.imp.BookBiz;
    15. import com.jmh.entity.Book;
    16. /**
    17. * 修改书本
    18. * @author 蒋明辉
    19. *
    20. */
    21. @WebServlet("/updateBookServlet.do")
    22. public class UpdateBookServlet extends HttpServlet{
    23. @Override
    24. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    25. doGet(req, resp);
    26. }
    27. @Override
    28. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    29. //设置编码
    30. req.setCharacterEncoding("utf-8");
    31. resp.setContentType("text/html;charset=utf-8");
    32. //获取对象
    33. PrintWriter out = resp.getWriter();
    34. //获取前端传送的参数
    35. String bookId=req.getParameter("bookId");
    36. String bookName=req.getParameter("bookName");
    37. String bookPrice=req.getParameter("bookPrice");
    38. String bookType=req.getParameter("bookType");
    39. /*System.out.println(bookId);
    40. System.out.println(bookName);
    41. System.out.println(bookPrice);
    42. System.out.println(bookType);*/
    43. //处理业务逻辑代码
    44. IBookBiz ibb=new BookBiz();
    45. //实例化一个书本对象
    46. Book book=new Book();
    47. book.setBookId(Integer.parseInt(bookId));
    48. book.setBookName(bookName);
    49. book.setBookPrice(Double.parseDouble(bookPrice));
    50. book.setBookType(bookType);
    51. //定义map集合
    52. Map m=new HashMap<>();
    53. try {
    54. ibb.update(book);
    55. //成功
    56. m.put("s", true);
    57. m.put("m", "修改成功");
    58. } catch (SQLException e) {
    59. //失败
    60. m.put("s", false);
    61. m.put("m", "修改失败");
    62. e.printStackTrace();
    63. }
    64. //转换为json格式 并输出到前端
    65. String jsonString = JSON.toJSONString(m);
    66. out.print(jsonString);
    67. out.flush();
    68. out.close();
    69. }
    70. }

     3.7 删除书本Servlet代码

    1. package com.jmh.servlet;
    2. import java.io.IOException;
    3. import java.io.PrintWriter;
    4. import java.sql.SQLException;
    5. import java.util.HashMap;
    6. import java.util.Map;
    7. import javax.servlet.ServletException;
    8. import javax.servlet.annotation.WebServlet;
    9. import javax.servlet.http.HttpServlet;
    10. import javax.servlet.http.HttpServletRequest;
    11. import javax.servlet.http.HttpServletResponse;
    12. import javax.servlet.http.HttpSession;
    13. import com.alibaba.fastjson.JSON;
    14. import com.alibaba.fastjson.support.hsf.HSFJSONUtils;
    15. import com.jmh.biz.IBookBiz;
    16. import com.jmh.biz.imp.BookBiz;
    17. /**
    18. * 删除书本
    19. * @author 蒋明辉
    20. *
    21. */
    22. @WebServlet("/deleteBookServlet.do")
    23. public class DeleteBookServlet extends HttpServlet{
    24. @Override
    25. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    26. doGet(req, resp);
    27. }
    28. @Override
    29. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    30. //设置编码
    31. req.setCharacterEncoding("utf-8");
    32. resp.setContentType("text/html;charset=utf-8");
    33. //获取对象
    34. HttpSession session = req.getSession();
    35. PrintWriter out=resp.getWriter();
    36. //获取前端传来的参数
    37. String bookId = req.getParameter("bookId");
    38. System.out.println("要删除的编号"+bookId);
    39. //处理业务逻辑代码
    40. IBookBiz ibb=new BookBiz();
    41. //定义map集合
    42. Map m=new HashMap<>();
    43. try {
    44. ibb.delete(bookId);
    45. m.put("s", true);
    46. m.put("m", "删除成功!");
    47. } catch (SQLException e) {
    48. //删除失败
    49. m.put("s", false);
    50. m.put("m", "删除失败!");
    51. e.printStackTrace();
    52. }
    53. //输送到前端
    54. String jsonString = JSON.toJSONString(m);
    55. //输送到前端
    56. out.print(jsonString);
    57. out.flush();
    58. out.close();
    59. }
    60. }

     3.8 dao层接口代码

    1. package com.jmh.dao;
    2. import java.sql.SQLException;
    3. import java.util.List;
    4. import com.jmh.entity.Book;
    5. public interface IBookDao {
    6. /**
    7. * 带有模糊查询的分页方法
    8. * @param bookName 模糊查询关键字
    9. * @param pageIndex 当前开始的条数
    10. * @param pageSize 页大小
    11. * @return 结果集对象
    12. * @throws SQLException 异常
    13. */
    14. List query(String bookName, Integer pageIndex, Integer pageSize) throws SQLException;
    15. /**
    16. * 带有模糊查询的分页方法
    17. * @param bookName 模糊查询关键字
    18. * @param pageIndex 当前开始的条数
    19. * @param pageSize 页大小
    20. * @return 结果集对象
    21. * @throws SQLException 异常
    22. */
    23. Integer sumCount(String bookName) throws SQLException;
    24. /**
    25. * 增加书本的方法
    26. * @param b 书本对象
    27. * @throws SQLException 异常
    28. */
    29. void insert(Book b) throws SQLException;
    30. /**
    31. * 根据书本编号删除书本的方法
    32. * @param bookid 书本编号
    33. * @throws SQLException
    34. */
    35. void delete(String bookid) throws SQLException;
    36. /**
    37. * 根据书本编号修改书本信息的方法
    38. * @param book 书本对象
    39. * @throws SQLException
    40. */
    41. void update(Book book) throws SQLException;
    42. }

     3.9 dao层实现类代码

    1. package com.jmh.dao.imp;
    2. import java.sql.Connection;
    3. import java.sql.PreparedStatement;
    4. import java.sql.ResultSet;
    5. import java.sql.SQLException;
    6. import java.util.ArrayList;
    7. import java.util.List;
    8. import com.jmh.dao.IBookDao;
    9. import com.jmh.entity.Book;
    10. import com.jmh.entity.Module;
    11. import com.jmh.util.DBAccess;
    12. public class BookDao implements IBookDao{
    13. private Connection con;
    14. private PreparedStatement ps;
    15. private ResultSet rs;
    16. private List bookls;
    17. private Book book;
    18. private String sql;
    19. private Integer n;
    20. private Integer sumCount;//总数据量
    21. /**
    22. * 带有模糊查询的分页方法
    23. * @param bookName 模糊查询关键字
    24. * @param pageIndex 当前开始的条数
    25. * @param pageSize 页大小
    26. * @return 结果集对象
    27. * @throws SQLException 异常
    28. */
    29. @Override
    30. public List query(String bookName,Integer pageIndex,Integer pageSize) throws SQLException {//模糊查询关键字、最大页码、页大小
    31. Integer begin=(pageIndex-1)*pageSize;
    32. bookls=new ArrayList<>();
    33. con=DBAccess.getConnection();
    34. //纯纯的分页查询
    35. sql="select bookId,bookName,bookPrice,bookType,bookNamePinYin from t_book where bookId limit ?,? ";
    36. if(null!=bookName&&!"".equals(bookName)) {//带模糊查询的分页
    37. sql="select bookId,bookName,bookPrice,bookType,bookNamePinYin from t_book where bookName like ? or bookNamePinYin like ? and bookId limit ?,?";
    38. }
    39. ps=con.prepareStatement(sql);
    40. //判断进入了哪一个程序就给哪一个程序赋值
    41. if(null!=bookName&&!"".equals(bookName)) {
    42. ps.setString(1, "%"+bookName+"%");//模糊查询关键字
    43. ps.setString(2, "%"+bookName+"%");//拼音模糊查询关键字
    44. ps.setInt(3, begin);//每页开始的条数
    45. ps.setInt(4, pageSize);//页大小
    46. }else {//分页字段赋值
    47. ps.setInt(1, begin);//每页开始的条数
    48. ps.setInt(2, pageSize);//页大小
    49. }
    50. rs=ps.executeQuery();
    51. while(rs.next()) {
    52. book=new Book(rs.getInt("bookId"), rs.getString("bookName"), rs.getDouble("bookPrice"), rs.getString("bookType"), rs.getString("bookNamePinYin"));
    53. bookls.add(book);
    54. }
    55. DBAccess.close(con, ps, rs);
    56. return bookls;
    57. }
    58. /**
    59. * 总数据量的方法
    60. * @param bookName 模糊查询关键字
    61. * @return 影响条数
    62. * @throws SQLException 异常
    63. */
    64. @Override
    65. public Integer sumCount(String bookName) throws SQLException {
    66. con=DBAccess.getConnection();
    67. sql="select count(0) from t_book";
    68. //判断如果是模糊查询就追加sql语句
    69. if(null!=bookName&&!"".equals(bookName)) {
    70. sql+=" where bookName like ? or bookNamePinYin like ?";
    71. }
    72. ps=con.prepareStatement(sql);
    73. //如果是模糊查询就给字段赋值
    74. if(null!=bookName&&!"".equals(bookName)) {
    75. ps.setString(1, "%"+bookName+"%");//模糊查询关键字
    76. ps.setString(2, "%"+bookName+"%");//拼音模糊查询关键字
    77. }
    78. rs=ps.executeQuery();
    79. if(rs.next()) {
    80. //给素=所有影响条数赋给定义的变量
    81. sumCount=rs.getInt(1);
    82. }
    83. DBAccess.close(con, ps, rs);
    84. return sumCount;
    85. }
    86. /**
    87. * 增加书本的方法
    88. * @param b 书本对象
    89. * @throws SQLException 异常
    90. */
    91. @Override
    92. public void insert(Book b) throws SQLException {
    93. con=DBAccess.getConnection();
    94. sql="insert into t_book(bookName,bookPrice,bookType,BookNamePinYin) values"
    95. + "(?,?,?,?)";
    96. ps=con.prepareStatement(sql);
    97. ps.setString(1, b.getBookName());
    98. ps.setDouble(2, b.getBookPrice());
    99. ps.setString(3, b.getBookType());
    100. ps.setString(4, b.getBookNamePinYin());
    101. n=ps.executeUpdate();
    102. DBAccess.close(con, ps, rs);
    103. }
    104. /**
    105. * 根据书本编号删除书本的方法
    106. * @param bookid 书本编号
    107. * @throws SQLException
    108. */
    109. @Override
    110. public void delete(String bookid) throws SQLException {
    111. con=DBAccess.getConnection();
    112. sql="delete from t_book where bookId=?";
    113. ps=con.prepareStatement(sql);
    114. ps.setString(1, bookid);
    115. ps.executeUpdate();
    116. DBAccess.close(con, ps, rs);
    117. }
    118. /**
    119. * 根据书本编号修改书本信息的方法
    120. * @param book 书本对象
    121. * @throws SQLException
    122. */
    123. @Override
    124. public void update(Book book) throws SQLException {
    125. con=DBAccess.getConnection();
    126. sql="update t_book set bookName=?,bookPrice=?,bookType=? where bookId=?";
    127. ps=con.prepareStatement(sql);
    128. //给占位符赋值
    129. ps.setString(1, book.getBookName());
    130. ps.setDouble(2, book.getBookPrice());
    131. ps.setString(3, book.getBookType());
    132. ps.setInt(4, book.getBookId());
    133. ps.executeUpdate();
    134. DBAccess.close(con, ps, rs);
    135. }
    136. }

     4.0 biz层接口代码

    1. package com.jmh.biz;
    2. import java.sql.SQLException;
    3. import java.util.List;
    4. import com.jmh.entity.Book;
    5. public interface IBookBiz {
    6. /**
    7. * 带有模糊查询的分页方法
    8. * @param bookName 模糊查询关键字
    9. * @param pageIndex 当前开始的条数
    10. * @param pageSize 页大小
    11. * @return 结果集对象
    12. * @throws SQLException 异常
    13. */
    14. List query(String bookName, Integer pageIndex, Integer pageSize) throws SQLException;
    15. /**
    16. * 带有模糊查询的分页方法
    17. * @param bookName 模糊查询关键字
    18. * @param pageIndex 当前开始的条数
    19. * @param pageSize 页大小
    20. * @return 结果集对象
    21. * @throws SQLException 异常
    22. */
    23. Integer sumCount(String bookName) throws SQLException;
    24. /**
    25. * 增加书本的方法
    26. * @param b 书本对象
    27. * @throws SQLException 异常
    28. */
    29. void insert(Book b) throws SQLException;
    30. /**
    31. * 根据书本编号删除书本的方法
    32. * @param bookid 书本编号
    33. * @throws SQLException
    34. */
    35. void delete(String bookid) throws SQLException;
    36. /**
    37. * 根据书本编号修改书本信息的方法
    38. * @param book 书本对象
    39. * @throws SQLException
    40. */
    41. void update(Book book) throws SQLException;
    42. }

     4.1 biz层实现类代码

    1. package com.jmh.biz.imp;
    2. import java.sql.SQLException;
    3. import java.util.List;
    4. import com.jmh.biz.IBookBiz;
    5. import com.jmh.dao.IBookDao;
    6. import com.jmh.dao.imp.BookDao;
    7. import com.jmh.entity.Book;
    8. public class BookBiz implements IBookBiz{
    9. IBookDao ibd=new BookDao();
    10. @Override
    11. public List query(String bookName, Integer pageIndex, Integer pageSize) throws SQLException {
    12. // TODO Auto-generated method stub
    13. return ibd.query(bookName, pageIndex, pageSize);
    14. }
    15. @Override
    16. public Integer sumCount(String bookName) throws SQLException {
    17. // TODO Auto-generated method stub
    18. return ibd.sumCount(bookName);
    19. }
    20. @Override
    21. public void insert(Book b) throws SQLException {
    22. ibd.insert(b);
    23. }
    24. @Override
    25. public void delete(String bookid) throws SQLException {
    26. ibd.delete(bookid);
    27. }
    28. @Override
    29. public void update(Book book) throws SQLException {
    30. ibd.update(book);
    31. }
    32. }


                                                

  • 相关阅读:
    代码随想录算法训练营完结篇 ★★★
    HarmonyOS开发云工程与开发云函数
    【人生苦短,我学 Python】(15)迭代器、生成器
    什么是MVC-02
    小程序源码:王者荣耀吃鸡气泡等等头像框DIY在线生成N种风格-多玩法安装简单
    竞速榜实时离线对数方案演进介绍
    从零开始写 Docker(八)---实现 mydocker run -d 支持后台运行容器
    pid,ppid,pgid,sid进程间关系
    redis问题记录
    数据包守恒 & TCP 拥塞控制
  • 原文地址:https://blog.csdn.net/m0_63300795/article/details/126458954