
- 组 成
- 管理者与管理对象组成
- 外文名
- System Management
- 优 势
- 明确的目的性和组织性
- 中文名
- 管理系统
-
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
2019-11-17 14:08:36听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目...第一幕:缘起
听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员……
996程序员做的梦:
第一场:团队招募
为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。
话说还是中国电信的信号好,地府都是满格,哈哈!!!
经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下?
而这次,面对这样的需求,这个程序员也是虎躯一震,本来想拒绝的,不过做不完就不让回去,而且,貌似这也是他报仇的好机会啊!
产品同学也被勾下来了。。
第二场:研发过程中的新需求
项目开发过程中,阎罗王发来了一个消息:
第三场:程序员还阳
项目进行中,程序员偷偷地在系统上留了一个后门,不仅回到了阳间,还将自己的寿命修改为+∞。
地府中留下的,是产品经理孤寂的身影。
这个故事告诉我们,做产品的,不能提太多的需求,也不能完全不懂技术,否则,可能会死的不明不白的。
第二幕:地府管理2.0研发
地府管理系统项目上线后,阎王尝到了很大的甜头,地府工作效率提高了很多倍,于是,“地府2.0计划”紧锣密鼓的开始了。
越是,不少人做梦,都梦见自己死了……
设计师:
昨晚做梦梦到我死了,进了阎王殿
阎王爷让我给他的地府做一张宣传海报
HR:
昨晚做梦梦到我死了,进了阎王殿
阎王爷让我给他考核一下地府在职人员的业绩
文案:
昨晚做梦梦到我死了,进了阎王殿
阎王爷让我给他写一篇能够提升转化的软文
物流管理:
昨晚做梦梦到我死了,进了阎王殿
阎王爷让我给他优化一下投胎的流程
交互设计师:
昨晚做梦梦到我死了,进了阎王殿
阎王爷让我给他优化一下油锅的体验
第三幕:地府大数据
为了应对日益增大的业务,地府管理系统3.0版本的原型图已经设计出来了,现在鉴赏一下
第一场:登录
与时俱进,比较完善,支持账号登录、手机登录、扫码登录三种登录方式。
移动端自适应哦!
首页看板做的很不错
第二场:可视化监控
可以实时查看十八层地狱的详细信息,目前只支持中国区,国府(国服)噢。
今年业绩不是很好,业绩相比去年大幅下跌了呢!
冥币的汇率总体走势上扬,应该有不错的上升空间,可以考虑持有。
第三场:生死簿
生死簿可以看到阳寿未尽、孤魂野鬼、已经转世投胎人的名单。通过查询后台数据,我们发现,孙猴子不是物理删库,他是获取了阎王爷的超级管理员权限,直接把自己的名字,从生死簿中给删除了。
不过也看出,到底是毛手毛脚的猴子,做事不干净,只是逻辑删除,而没有进行物理删除。差一步,还是能找到记录。
下一个操作就骚了,批量删除,一删一窝。
批量删除有风险,所以需要插入U盾,猴子应该是直接拿了阎王的,获取验证码,批量删除猴子猴孙,为你点赞!
还有退单操作,这下知道李世民为啥没死成了。。
第四场:阎罗殿审判记录
每一个被勾下来的人,都有完整的审判记录,确保不抓错一个好人,也不放过一个坏人。
妥妥的工作流,需要审批的。
还贴心地提供了老人专用版本,字体放大N倍,看起来很轻松。
第五场:六道轮回
地府后台管理系统还是非常人性的,解决了六道轮回的问题。以后投胎到哪里,摇一次转盘就搞定了。
原来猪刚鬣就是被这么摇到了畜生道啊!
第六场:元数据维护
还挺丰富的,功能能强大。
有设备管理:
冥币管理:
日志管理:
还有非常完善的角色权限,支持多租户,多级,多用户哦:
更多功能持续开发中,欢迎有志于地府事业的小伙伴积极参与哦:
第四幕:未来已来
如果同学们真的出现经常做梦的情况,考虑下是不是最近压力太大了。当一个人压力太大的时候,做梦都会惦记要做的事情,连觉都睡不好了。
年底了,不论是互联网从业人员还是其他行业的人,或多或少感到一些压力,个人建议还是好好调节一下,多去换位思考一下,用其他的事激励一下自己。
最后的最后,是大家心心念念的地府系统demo访问地址:http://kzgfmo.axshare.cn
没有结束的新开始。。。。
帖子发出去之后,居然成为了一个现象级的产品,很多朋友也跟我联系,希望能把这个系统做出来,下面这位大神已经建了个群,希望把系统做出来,有兴趣的可以加群聊聊,看能不能真的把他做出来。
第五幕:程序员们的地府生涯
经过前期准备,现在地府系统已经正式进入立项开发阶段了
github地址:https://github.com/canxin0523/thesixsectorTeam
欢迎围观,Star
先附一张昨晚画的地府组织架构图
项目工程结构:
这个是我的微信二维码,我拉你进讨论群和扣扣研发群,围观一个伟大产品的诞生
我的微信公众号:架构真经(id:gentoo666),分享Java干货,高并发编程,热门技术教程,微服务及分布式技术,架构设计,区块链技术,人工智能,大数据,Java面试题,以及前沿热门资讯等。每日更新哦!
参考资料:
-
java学生信息管理系统(附源码)
2016-07-14 16:36:30学生管理系统就完成了 其中的登陆界面是 我借鉴别人的 文中难免有不足之处,恳请批评指正 2016-7-14 再此上传不了附件 所以我给链接去在云盘下载 首次上传 (2017_6_12更新)链接: ...一: 介绍
1:实现登录界面
2:实现主界面
有两种操作 一种是按钮操作 另外一种是SQL语句。
3:连接SQL server 2008 数据库,后续我更新了,加了一个MySql 版本。在我的下载链接里面都有,里面也有使用说明。另外*myeclipse和eclipse, jcreator什么的都是IDE,使用都一样,基本没什么区别,只不过myeclipse更商业化不开源,也就意味着收费,里面集成的插件比较多而已。
*****************************************************************************************************
用到的软件及环境SQLserver2008,eclipse,sqljdbc4.jar(数据库驱动包)
*****************************************************************************************************
另外一个Mysql 5.7.15. Myeclipse2015,mysql-connector-java-5.1.34.jar
**********************************************************************************************************************
java的JDK环境 (自行安装配置)
切记:
另外要新建数据库wtf 和新建学生表student(也可以用你自己创建的数据库及表,不过你得在源代码中进行修改):
还要导入sqljdbc4.jar
4:实现增删改查 (另有退出和刷新)
二: 使用
1:首先导入rjgc包
然后点开browse 找到rjgc
最后点击finish
得到 下图
加载出来以后可能有的java文件前面有错,因为还没有导入sqljdbc4.jar
(******************************************************************************************************************************* 注意,方式一导入jdbc的图是之前我做的时候比较麻烦的一种方式,但是也能达到效果,在后期的我更新的链接资源中,如果导入任意版本源码包的话,都会自动加载lib包以及下面不同版本对应的jdbc连接驱动。这时候你只需要在那个lib文件夹下的.jar 文件上右键点击-->build path--->add to build path,导入jdbc结束。
方式二导入:贴一张图
上面这张图是方式二导入的,
**************************************************************************************************************************)
接下来继续,方式一导入 看下图:
这时候应该就差不多可以运行了,不过还得把SQLserver2008的(MSSQLSERVER)服务开启了。
上图
再回到eclipse界面 打开rjgc
最后双击LoginIn.java打开代码文本
运行 就可以出现登录界面
在LoginIn.java代码文本里面找到登录用户 和密码后就可以登录了
比如admin 123 和wangtangfu 123456 (注意不要多加空格)
其实用户权限都一样 如果你想加用户权限 可以写两个不同的Qframe.java。要做到主窗口里面的功能不同 ,可以屏蔽一些按钮
比如修改 增加 等功能。然后在不同用户登陆的时候调用不同的Qframe.java,这样应该可以实现权限问题。。。
2:
还有程序里面应运了一些图片,它们的位置路径位置可能不一样 ,自行参照代码理解修改(很容易的哟);
三:程序运行截图
登陆窗口
主窗口
SQL语句执行 比如select * from student
刷新按钮:
增加按钮:
添加成功之后刷新即可:
删除按钮:
修改按钮:
查询按钮
至此
学生管理系统就完成了
其中的登陆界面是 我借鉴别人的
文中难免有不足之处,恳请批评指正
2016-7-14
再此上传不了附件 所以我给链接去在云盘下载
首次上传
(2017_6_12更新)链接: https://pan.baidu.com/s/1aSeKJ8gXxWSElHaTU6_PdA 密码: yqpv
添加myeclipse+mysql 版本:
(2017_12_17更新)链接: https://pan.baidu.com/s/1dFAlILj 密码: 9z7k
(2017_12_17更新)链接: https://pan.baidu.com/s/1dFAlILj 密码: 9z7k
(2017_12_17更新)链接: https://pan.baidu.com/s/1dFAlILj 密码: 9z7k
修改student.sql执行报错 (执行时可以打开偷偷看一眼)
(2019_04_13更新)链接: https://pan.baidu.com/s/121sRLAerxEa3UmTD50Uu6g 密码: xjge
(2019_04_13更新)链接: https://pan.baidu.com/s/121sRLAerxEa3UmTD50Uu6g 密码: xjge
(2019_04_13更新)链接:https://pan.baidu.com/s/121sRLAerxEa3UmTD50Uu6g 密码: xjge
-
JavaWeb-简单学生信息管理系统的实现-Jsp+Servlet+MySql
2019-04-05 14:58:42关注公众号:吾爱代码,回复Java学生管理系统,获取下载链接~ 关注公众号:吾爱代码,回复Java学生管理系统,获取下载链接~ 关注公众号:吾爱代码,回复Java学生管理系统,获取下载链接~关注公众号:吾爱代码,回复Java学生管理系统,获取下载链接~
关注公众号:吾爱代码,回复Java学生管理系统,获取下载链接~
运行截图:
项目文件结构:
获取 数据库连接类:
package db; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /** * @ClassName: DbConnect * @Author: Leo * @Description: * @Date: 2019/3/27 21:36 */ public class DbConnect { public static Connection connection; public static String url = "jdbc:mysql://localhost/stumanage?user=root&password=root" + "&useUnicode=true&characterEncoding=utf-8&useSSL=true"; public static Connection getConnection() { try { Class.forName("com.mysql.cj.jdbc.Driver"); connection = DriverManager.getConnection(url); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return connection; } }
对应学生的实体类:
package entity; public class Student { private long id; private String name; private String sex; private String specialty; private String grade; public Student() { } public Student(long id, String name, String sex, String specialty, String grade) { this.id = id; this.name = name; this.sex = sex; this.specialty = specialty; this.grade = grade; } public Student(String name, String sex, String specialty, String grade) { this.name = name; this.sex = sex; this.specialty = specialty; this.grade = grade; } public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getSpecialty() { return specialty; } public void setSpecialty(String specialty) { this.specialty = specialty; } public String getGrade() { return grade; } public void setGrade(String grade) { this.grade = grade; } }
登录界面jsp:
<%-- Created by IntelliJ IDEA. User: 24234 Date: 2019/3/27 Time: 19:26 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="utf-8" %> <html> <head> <title>学生管理系统</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> </head> <body> <center> <form action="/loginServer" method="post"> <table> <tr> <td> 用户名 </td> <td> <input type="text" name="admin"> </td> </tr> <tr> <td> 密  码 </td> <td> <input type="password" name="pwd"> </td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" value="登录"> </td> </tr> </table> </form> </center> </body> </html>
登录servlet:(查询所有学生信息显示到主页面jsp)
package servlet; import db.DbConnect; 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 java.io.IOException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; /** * @ClassName: ${NAME} * @Author: Leo * @Description: * @Date: 2019/3/28 20:29 */ @WebServlet(name = "loginServer") public class loginServer extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html"); req.setCharacterEncoding("utf-8"); resp.setCharacterEncoding("utf-8"); String admin = req.getParameter("admin"); String pwd = req.getParameter("pwd"); if (admin.equals("admin") && pwd.equals("123")) { Connection connection = DbConnect.getConnection(); String sql = "SELECT * FROM STUDENT"; PreparedStatement preparedStatement = null; ResultSet resultSet = null; try { preparedStatement = connection.prepareStatement(sql); resultSet = preparedStatement.executeQuery(); HttpSession httpSession = req.getSession(); // 设置session有效时间为两小时 httpSession.setMaxInactiveInterval(7200); httpSession.setAttribute("resultSet", resultSet); resp.sendRedirect("loginAction.jsp"); } catch (SQLException e) { e.printStackTrace(); } } else { resp.sendRedirect("index.jsp"); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }
主页面jsp:
<%@ page import="java.sql.ResultSet" %><%-- Created by IntelliJ IDEA. User: Administrator Date: 2019/3/28 Time: 14:31 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="utf-8" %> <% ResultSet resultSet = (ResultSet) session.getAttribute("resultSet");%> <html> <head> <title>学生管理系统</title> <link rel="stylesheet" type="text/css" href="css/table.css"> </head> <body> <center> <table class="gridtable"> <tr> <td align="center" colspan="6">学生信息</td> </tr> <tr> <td>姓名</td> <td>性别</td> <td>专业</td> <td>年级</td> <td align="center" colspan="2">操作</td> </tr> <% while (resultSet.next()) { %> <tr> <td><%=resultSet.getString("name")%> </td> <td><%=resultSet.getString("sex")%> </td> <td><%=resultSet.getString("specialty")%> </td> <td><%=resultSet.getString("grade")%> </td> <td><a href="selectServlet?id=<%=resultSet.getInt("id")%>">修改</a></td> <td><a href="deleteServlet?id=<%=resultSet.getInt("id")%>" onclick="return confirm('确定删除?')">删除</a></td> </tr> <%}%> <tr> <td align="center" colspan="6"> <a href="stuAdd.jsp">添加</a> </td> </tr> </table> </center> </body> </html>
根据id查询数据库记录:
package servlet; import db.DbConnect; import entity.Student; 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 java.io.IOException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; /** * @ClassName: ${NAME} * @Author: Leo * @Description: * @Date: 2019/3/29 15:20 */ @WebServlet(name = "selectServlet") public class selectServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); request.setCharacterEncoding("utf-8"); String id = request.getParameter("id"); String sql = "SELECT * FROM STUDENT WHERE ID=?"; Connection connection = DbConnect.getConnection(); PreparedStatement preparedStatement = null; ResultSet resultset = null; Student student = null; try { preparedStatement = connection.prepareStatement(sql); preparedStatement.setInt(1, Integer.parseInt(id)); resultset = preparedStatement.executeQuery(); while (resultset.next()) { String name = resultset.getString("name"); String sex = resultset.getString("sex"); String specialty = resultset.getString("specialty"); String grade = resultset.getString("grade"); student = new Student(Integer.parseInt(id), name, sex, specialty, grade); } HttpSession httpSession = request.getSession(); httpSession.setAttribute("student", student); response.sendRedirect("stuEdit.jsp"); } catch (SQLException e) { e.printStackTrace(); } } }
修改学生信息jsp:
<%@ page import="entity.Student" %><%-- Created by IntelliJ IDEA. User: 24234 Date: 2019/3/29 Time: 14:59 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="utf-8" %> <html> <head> <title>修改学生信息</title> <link rel="stylesheet" type="text/css" href="css/table.css"> </head> <body> <%Student student = (Student) session.getAttribute("student");%> <form action="/updateServlet" method="post"> <center> <table class="gridtable"> <tr> <td align="center" colspan="2"> 修改学生信息 <input type="hidden" name="id" value="<%=student.getId()%>"> </td> </tr> <tr> <td>姓名</td> <td><input type="text" name="name" value="<%=student.getName()%>"></td> </tr> <tr> <td>性别</td> <td><%if (student.getSex().equals("男")) {%> <input type="radio" name="sex" value="男" checked="checked">男 <input type="radio" name="sex" value="女">女 </td> <% } else { %> <td> <input type="radio" name="sex" value="男">男 <input type="radio" name="sex" value="女" checked="checked">女 </td> <%}%> </tr> <tr> <td>专业</td> <td><input type="text" name="specialty" value="<%=student.getSpecialty()%>"></td> </tr> <tr> <td>年级</td> <td> <% if (student.getGrade().equals("大一")) { %> <select name="grade"> <option value="大一" selected="selected">大一</option> <option value="大二">大二</option> <option value="大三">大三</option> <option value="大四">大四</option> </select> <%} else if (student.getGrade().equals("大二")) {%> <select name="grade"> <option value="大一">大一</option> <option value="大二" selected="selected">大二</option> <option value="大三">大三</option> <option value="大四">大四</option> </select> <%} else if (student.getGrade().equals("大三")) {%> <select name="grade"> <option value="大一">大一</option> <option value="大二">大二</option> <option value="大三" selected="selected">大三</option> <option value="大四">大四</option> </select> <%} else if (student.getGrade().equals("大四")) {%> <select name="grade"> <option value="大一">大一</option> <option value="大二">大二</option> <option value="大三">大三</option> <option value="大四" selected="selected">大四</option> </select> <%}%> </td> </tr> <tr> <td align="center" colspan="2"> <input type="submit" value="修改"> </td> </tr> </table> </center> </form> </body> </html>
修改学生信息servlet:
package servlet; import db.DbConnect; 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 java.io.IOException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; /** * @ClassName: ${NAME} * @Author: Leo * @Description: * @Date: 2019/3/29 15:44 */ @WebServlet(name = "updateServlet") public class updateServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); request.setCharacterEncoding("utf-8"); String id = request.getParameter("id"); String name = request.getParameter("name"); String sex = request.getParameter("sex"); String specialty = request.getParameter("specialty"); String grade = request.getParameter("grade"); Connection connection = DbConnect.getConnection(); String sql = "UPDATE STUDENT SET name=? , sex=? , specialty=? , grade=? where id=?"; PreparedStatement preparedStatement = null; ResultSet resultSet = null; try { preparedStatement = connection.prepareStatement(sql); preparedStatement.setInt(5, Integer.parseInt(id)); preparedStatement.setString(1, name); preparedStatement.setString(2, sex); preparedStatement.setString(3, specialty); preparedStatement.setString(4, grade); int i = preparedStatement.executeUpdate(); HttpSession httpSession = request.getSession(); if (i == 1) { String selectAll = "SELECT * FROM STUDENT"; preparedStatement = connection.prepareStatement(selectAll); resultSet = preparedStatement.executeQuery(); httpSession.setMaxInactiveInterval(7200); httpSession.setAttribute("resultSet", resultSet); response.sendRedirect("loginAction.jsp"); } else { httpSession.setAttribute("message", "修改失败!"); response.sendRedirect("error.jsp"); } } catch (SQLException e) { e.printStackTrace(); } } }
添加学生信息jsp:
<%-- Created by IntelliJ IDEA. User: Administrator Date: 2019/3/28 Time: 14:50 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="utf-8" %> <html> <head> <title>添加学生信息</title> <link rel="stylesheet" type="text/css" href="css/table.css"> </head> <body> <form action="/addServlet" method="post"> <center> <table class="gridtable"> <tr> <td align="center" colspan="2">添加学生信息</td> </tr> <tr> <td>姓名</td> <td><input type="text" name="name"></td> </tr> <tr> <td>性别</td> <td> <input type="radio" name="sex" value="男" checked="checked">男 <input type="radio" name="sex" value="女">女 </td> </tr> <tr> <td>专业</td> <td><input type="text" name="specialty"></td> </tr> <tr> <td>年级</td> <td><select name="grade"> <option value="大一">大一</option> <option value="大二">大二</option> <option value="大三">大三</option> <option value="大四">大四</option> </select></td> </tr> <tr> <td align="center" colspan="2"><input type="submit" value="添加"></td> </tr> </table> </center> </form> </body> </html>
添加学生信息servlet:
package servlet; import db.DbConnect; import entity.Student; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; /** * @ClassName: ${NAME} * @Author: Leo * @Description: * @Date: 2019/3/28 20:24 */ public class addServlet extends javax.servlet.http.HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); String name = request.getParameter("name"); String sex = request.getParameter("sex"); String specialty = request.getParameter("specialty"); String grade = request.getParameter("grade"); Student student = new Student(name, sex, specialty, grade); Connection connection = DbConnect.getConnection(); String sql = "INSERT INTO student(name,sex,specialty,grade) values(?,?,?,?)"; PreparedStatement preparedStatement = null; ResultSet resultSet = null; try { preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, student.getName()); preparedStatement.setString(2, student.getSex()); preparedStatement.setString(3, student.getSpecialty()); preparedStatement.setString(4, student.getGrade()); int i = preparedStatement.executeUpdate(); HttpSession httpSession = request.getSession(); if (i == 1) { String selectSql = "SELECT * FROM STUDENT"; preparedStatement = connection.prepareStatement(selectSql); resultSet = preparedStatement.executeQuery(); httpSession.setMaxInactiveInterval(7200); httpSession.setAttribute("resultSet", resultSet); response.sendRedirect("loginAction.jsp"); } else { httpSession.setAttribute("message", "添加失败!"); response.sendRedirect("error.jsp"); } } catch (SQLException e) { e.printStackTrace(); } } }
删除学生信息servlet:
package servlet; import db.DbConnect; 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 java.io.IOException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; /** * @ClassName: ${NAME} * @Author: Leo * @Description: * @Date: 2019/3/29 16:05 */ @WebServlet(name = "deleteServlet") public class deleteServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); request.setCharacterEncoding("utf-8"); String id = request.getParameter("id"); String sql = "DELETE FROM STUDENT WHERE ID=?"; Connection connection = DbConnect.getConnection(); PreparedStatement preparedStatement = null; ResultSet resultSet = null; HttpSession httpSession = request.getSession(); try { preparedStatement = connection.prepareStatement(sql); preparedStatement.setInt(1, Integer.parseInt(id)); int i = preparedStatement.executeUpdate(); if (i == 1) { String select = "SELECT * FROM STUDENT"; preparedStatement = connection.prepareStatement(select); resultSet = preparedStatement.executeQuery(); httpSession.setMaxInactiveInterval(7200); httpSession.setAttribute("resultSet", resultSet); response.sendRedirect("loginAction.jsp"); } else { httpSession.setAttribute("message", "删除失败!"); response.sendRedirect("error.jsp"); } } catch (SQLException e) { e.printStackTrace(); } } }
错误页面:
<%-- Created by IntelliJ IDEA. User: Administrator Date: 2019/3/28 Time: 15:18 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="utf-8" %> <html> <head> <title>Error</title> </head> <body> <% String message = (String) session.getAttribute("message"); out.print(message); %> </body> </html>
web.xml
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <servlet> <servlet-name>addServlet</servlet-name> <servlet-class>servlet.addServlet</servlet-class> </servlet> <servlet> <servlet-name>loginServer</servlet-name> <servlet-class>servlet.loginServer</servlet-class> </servlet> <servlet> <servlet-name>selectServlet</servlet-name> <servlet-class>servlet.selectServlet</servlet-class> </servlet> <servlet> <servlet-name>updateServlet</servlet-name> <servlet-class>servlet.updateServlet</servlet-class> </servlet> <servlet> <servlet-name>deleteServlet</servlet-name> <servlet-class>servlet.deleteServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>addServlet</servlet-name> <url-pattern>/addServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>loginServer</servlet-name> <url-pattern>/loginServer</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>selectServlet</servlet-name> <url-pattern>/selectServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>updateServlet</servlet-name> <url-pattern>/updateServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>deleteServlet</servlet-name> <url-pattern>/deleteServlet</url-pattern> </servlet-mapping> </web-app>
-
图书管理系统(Java MySQL)
2018-12-22 15:48:09(完整代码+实训报告): https://download.csdn.net/download/qq_35793285/10896342 (完整代码): ... ...管理员登录 图书借阅信息管理 图书信息管理 管理员更改密码 退出系统 二,工具 E...(完整代码+实训报告):
链接: https://pan.baidu.com/s/1kogzA1G_lOstSQP6yo-cSw 提取码: yugt
觉着有用就点个赞哦~
一,功能
- 管理员登录
- 图书借阅信息管理
- 图书信息管理
- 管理员更改密码
- 退出系统
二,工具
- Eclipse Version: 2018-09 (4.9.0)
- MySQL Workbench 8.0 CE
- mysql-connector-java-8.0.13.jar
三、效果图:
登录界面:
主界面:
借阅书籍管理:
个人书库管理:
更改密码:
四、数据库设计
1)图书表
2)用户表
两个数据表间没有关联:
五、JAVA层次分析
(1)逻辑图
(2)包结构,采用MVC三层架构组织各个模块
六、主要Java代码分析
Dao类(以BookDao为例)
package pers.cyz.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import pers.cyz.model.Book; import pers.cyz.util.DBUtil; /** * 数据库图书表信息数据访问对象类,包含增加图书信息、删除图书信息 * 、更新图书信息、查询图书信息、查询借阅信息和归还图书 * * @author 1651200111 陈彦志 */ public class BookDao { /** * 增加图书信息 */ public void addBook(Book book) throws Exception{ // 首先拿到数据库的连接 Connection con = DBUtil.getConnection(); String sql="insert into tb_books" // ISBN、书名、图书价格、图书作者、出版社 + "(ISBN, book_name, book_price, book_author, published_house," // 分类号、借书人姓名、借书人电话、借书日期,已借天数 + "book_category, borrower_name, borrower_phone) " + "values(" /* * 参数用?表示,相当于占位符,然后在对参数进行赋值。当真正执行时, * 这些参数会加载在SQL语句中,把SQL语句拼接完整才去执行。这样就会减少对数据库的操作 */ + "?,?,?,?,?,?,?,?)"; /* * prepareStatement这个方法会将SQL语句加载到驱动程序conn集成程序中, * 但是并不直接执行,而是当它调用execute()方法的时候才真正执行; */ PreparedStatement psmt = con.prepareStatement(sql); // 先对应SQL语句,给SQL语句传递参数 psmt.setString(1, book.getISBN()); psmt.setString(2, book.getBookName()); psmt.setFloat(3, book.getPrice()); psmt.setString(4, book.getAuthor()); psmt.setString(5, book.getPublishHouse()); psmt.setString(6, book.getBookCategory()); if (book.getBorrowerName() == null || book.getBorrowerName() == "") { psmt.setString(7, null); } else { psmt.setString(7, book.getBorrowerName()); } if (book.getBorrowerPhone() == null || book.getBorrowerPhone() == "") { psmt.setString(8, null); } else { psmt.setString(8, book.getBorrowerPhone()); } //执行SQL语句 psmt.execute(); } /** * 删除图书信息 */ public void delBook(int ID) throws SQLException{ // 首先拿到数据库的连接 Connection con=DBUtil.getConnection(); String sql="" + "DELETE FROM tb_books "+ // 参数用?表示,相当于占位符 "WHERE ID = ?"; // 预编译sql语句 PreparedStatement psmt = con.prepareStatement(sql); // 先对应SQL语句,给SQL语句传递参数 psmt.setInt(1, ID); // 执行SQL语句 psmt.execute(); } /** * 更新图书信息 */ public void changeBook(Book book) throws SQLException{ // 首先拿到数据库的连接 Connection con=DBUtil.getConnection(); String sql="update tb_books " + "set ISBN = ?, book_name = ?, book_price = ?, book_author = ?" + ",published_house = ?, book_category = ?, borrower_name = ?, borrower_phone = ? " // 参数用?表示,相当于占位符 + "where ID = ?"; // 预编译sql语句 PreparedStatement psmt = con.prepareStatement(sql); // 先对应SQL语句,给SQL语句传递参数 psmt.setString(1, book.getISBN()); psmt.setString(2, book.getBookName()); psmt.setFloat(3, book.getPrice()); psmt.setString(4, book.getAuthor()); psmt.setString(5, book.getPublishHouse()); psmt.setString(6, book.getBookCategory()); if (book.getBorrowerName().equals("")) { psmt.setString(7, null); } else { psmt.setString(7, book.getBorrowerName()); } if (book.getBorrowerPhone().equals("")) { psmt.setString(8, null); } else { psmt.setString(8, book.getBorrowerPhone()); } psmt.setInt(9, book.getID()); // 执行SQL语句 psmt.execute(); } /** * 查询书籍信息 */ public List<Book> query() throws Exception{ Connection con = DBUtil.getConnection(); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("select " // ISBN、书名、作者、图书价格、出版社 + "ID, ISBN, book_name, book_author, book_price, published_house, " // 分类号、借书人姓名、借书人电话 + "book_category, borrower_name, borrower_phone " + "from tb_books"); List<Book> bookList = new ArrayList<Book>(); Book book = null; // 如果对象中有数据,就会循环打印出来 while (rs.next()){ book = new Book(); book.setID(rs.getInt("ID")); book.setISBN(rs.getString("ISBN")); book.setBookName(rs.getString("book_name")); book.setAuthor(rs.getString("book_author")); book.setPrice(rs.getFloat("book_price")); book.setPublishHouse(rs.getString("published_house")); book.setBookCategory(rs.getString("book_category")); book.setBorrowerName(rs.getString("borrower_name")); book.setBorrowerPhone(rs.getString("borrower_phone")); bookList.add(book); } return bookList; } /** * 查询借阅信息 * * @return * bookList */ public List<Book> borrowQuery() throws Exception{ Connection con = DBUtil.getConnection(); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("" // ID、书名、借书人姓名、借书人电话 + "SELECT ID, book_name, borrower_name, borrower_phone " + "FROM tb_books " + "WHERE borrower_name IS NOT NULL" ); List<Book> bookList = new ArrayList<Book>(); Book book = null; // 如果对象中有数据,就会循环打印出来 while (rs.next()){ book = new Book(); book.setID(rs.getInt("ID")); book.setBookName(rs.getString("book_name")); book.setBorrowerName(rs.getString("borrower_name")); book.setBorrowerPhone(rs.getString("borrower_phone")); bookList.add(book); } return bookList; } /** * 更新图书信息,归还图书 */ public void returnBook(Book book) throws SQLException{ // 首先拿到数据库的连接 Connection con=DBUtil.getConnection(); String sql="UPDATE tb_books " // ISBN、图书名称、作者、价格 + "SET " // 借书人姓名、借书人电话 + "borrower_name = ?, borrower_phone = ? " // 参数用?表示,相当于占位符 + "WHERE ID = ?"; // 预编译sql语句 PreparedStatement psmt = con.prepareStatement(sql); // 先对应SQL语句,给SQL语句传递参数 psmt.setString(1, book.getBorrowerName()); psmt.setString(2, book.getBorrowerPhone()); psmt.setInt(3, book.getID()); // 执行SQL语句 psmt.execute(); } }
重点内容 :
JDBC进行简单的数据库增删改查
详细参考:https://www.cnblogs.com/Qian123/p/5339164.html#_labelTop
Model类(以Book为例)
package pers.cyz.model; /** * 图书模型类,包含数据库图书表各对应的字段get、set方法 * * @author 1651200111 陈彦志 */ public class Book { private int ID; // ISBN号 private String ISBN; // 图书名称 private String bookName; // 图书价格 private float price; // 图书作者 private String author; // 出版社 private String publishedHouse; // 图书分类号 private String bookCategory; // 借书人姓名 private String borrowerName; // 借书人电话 private String borrowerPhone; /** * 获取ID */ public int getID() { return ID; } /** * 设置ID */ public void setID(int iD) { ID = iD; } /** * 获取ISBN */ public String getISBN() { return ISBN; } /** * 设置ISBN */ public void setISBN(String iSBN) { ISBN = iSBN; } /** * 获取图书名称 */ public String getBookName() { return bookName; } /** * 设置图书名称 */ public void setBookName(String bookName) { this.bookName = bookName; } /** * 获取图书价格 */ public float getPrice() { return price; } /** * 设置图书价格 */ public void setPrice(float price) { this.price = price; } /** * 获取图书作者 */ public String getAuthor() { return author; } /** * 设置图书作者 */ public void setAuthor(String author) { this.author = author; } /** * 获取出版社 */ public String getPublishHouse() { return publishedHouse; } /** * 设置出版社 */ public void setPublishHouse(String publishedHouse) { this.publishedHouse = publishedHouse; } /** * 获取图书分类信息 */ public String getBookCategory() { return bookCategory; } /** * 设置图书分类信息 */ public void setBookCategory(String bookCategory) { this.bookCategory = bookCategory; } /** * 获取借书人姓名 */ public String getBorrowerName() { return borrowerName; } /** * 设置借书人姓名 */ public void setBorrowerName(String borrowerName) { this.borrowerName = borrowerName; } /** * 获取借书人电话 */ public String getBorrowerPhone() { return borrowerPhone; } /** * 设置借书人电话 */ public void setBorrowerPhone(String borrowerPhone) { this.borrowerPhone = borrowerPhone; } }
重点内容 :
主要就是数据库对应表中各对应的字段get、set方法
Eclipse技巧:
Shift + alt + s -> Generate Getters and Setters -> Select all -> Generate 自动生成set、get方法
Controller类(以BookAction为例)
package pers.cyz.controller; import java.util.List; import javax.swing.JTable; import javax.swing.JTextField; import pers.cyz.dao.BookDao; import pers.cyz.model.Book; /** * 图书信息行为控制类,包含增加图书、删除图书 * 、 修改图书、和初始化个人书库管理窗体表格 * * @author 1651200111 陈彦志 */ public class BookAction { /** * 初始化窗体表格 * @return * results */ @SuppressWarnings("rawtypes") public Object[][] initializTable(String[] columnNames) throws Exception{ BookDao bookDao = new BookDao(); List list = bookDao.query(); Object[][] results = new Object[list.size()][columnNames.length]; for(int i = 0; i < list.size(); i++) { Book book = (Book)list.get(i); results[i][0] = book.getID(); results[i][1] = book.getBookName(); results[i][2] = book.getAuthor(); results[i][3] = book.getPrice(); results[i][4] = book.getISBN(); results[i][5] = book.getPublishHouse(); results[i][6] = book.getBookCategory(); String borrowerName = book.getBorrowerName(); if (borrowerName == null) { borrowerName = ""; results[i][7] = borrowerName; } else { results[i][7] = borrowerName; } String borrowerPhone = book.getBorrowerPhone(); if (borrowerPhone == null) { borrowerPhone = ""; results[i][8] = borrowerPhone; } else { results[i][8] = borrowerPhone; } } return results; } /** * 添加图书信息 */ public void addBookInformation (JTextField textFieldISBN, JTextField textFieldName ,JTextField textFieldPrice, JTextField textFieldAuthor, JTextField textFieldPublishedHouse , JTextField textFieldBookCategory, JTextField textFieldBorrowName , JTextField textFieldBorrowPhone) throws Exception { BookDao bookDao=new BookDao(); Book book=new Book(); book.setISBN(textFieldISBN.getText()); book.setBookName(textFieldName.getText()); float price = Float.parseFloat(textFieldPrice.getText()); book.setPrice(price); book.setAuthor(textFieldAuthor.getText()); book.setPublishHouse(textFieldPublishedHouse.getText()); book.setBookCategory(textFieldBookCategory.getText()); if (textFieldBorrowName.getText() == null ||textFieldBorrowName.getText() == "" ) { book.setBorrowerName(null); } else { book.setBorrowerName(textFieldBorrowName.getText()); } if (textFieldBorrowPhone.getText() == null || textFieldBorrowPhone.getText() == "") { book.setBorrowerPhone(null); } else { book.setBorrowerPhone(textFieldBorrowPhone.getText()); } //添加图书 bookDao.addBook(book); } /** * 删除图书信息 */ public void delBookInformation (JTable table) throws Exception { int selRow = table.getSelectedRow(); int ID = Integer.parseInt(table.getValueAt(selRow, 0).toString()); BookDao bookDao=new BookDao(); Book book=new Book(); book.setID(ID); // 删除图书信息 bookDao.delBook(ID); } /** * 修改图书信息 */ public void changeBookInformation (JTextField textFieldISBN, JTextField textFieldName ,JTextField textFieldPrice, JTextField textFieldAuthor, JTextField textFieldPublishedHouse , JTextField textFieldBookCategory, JTextField textFieldBorrowerName , JTextField textFieldBorrowerPhone, JTable table) throws Exception{ BookDao bookDao=new BookDao(); Book book=new Book(); int selRow = table.getSelectedRow(); int ID = Integer.parseInt(table.getValueAt(selRow, 0).toString()); book.setID(ID); book.setISBN(textFieldISBN.getText()); book.setBookName(textFieldName.getText()); book.setAuthor(textFieldAuthor.getText()); float price = Float.parseFloat(textFieldPrice.getText()); book.setPrice(price); book.setPublishHouse(textFieldPublishedHouse.getText()); book.setBookCategory(textFieldBookCategory.getText()); book.setBorrowerName(textFieldBorrowerName.getText()); book.setBorrowerPhone(textFieldBorrowerPhone.getText()); //修改图书 bookDao.changeBook(book); } }
util类(以DBUtil为例)
package pers.cyz.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /** * 连接数据库类,包含一个对外提供获取数据库连接的方法 * * @author 1651200111 陈彦志 */ public class DBUtil { // 数据库连接路径 private static final String URL = "jdbc:mysql://127.0.0.1:3306/db_books?" + "useUnicode = true & serverTimezone = GMT" // MySQL在高版本需要指明是否进行SSL连接 + "& characterEncoding = utf8 & useSSL = false"; private static final String NAME = "root"; private static final String PASSWORD = "root"; private static Connection conn = null; // 静态代码块(将加载驱动、连接数据库放入静态块中) static{ try { // 加载驱动程序 Class.forName("com.mysql.cj.jdbc.Driver"); // 获取数据库的连接 conn = DriverManager.getConnection(URL, NAME, PASSWORD); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } // 对外提供一个方法来获取数据库连接 public static Connection getConnection(){ return conn; } }
util类(以BackgroundImage为例)
package pers.cyz.util; import java.awt.Container; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; /** * 设置背景图片类 * * @author 1651200111 陈彦志 */ public class BackgroundImage { public BackgroundImage(JFrame frame,Container container,String ImageName) { // 限定加载图片路径 ImageIcon icon= new ImageIcon("res/" + ImageName); final JLabel labelBackground = new JLabel(); ImageIcon iconBookManageSystemBackground = icon; labelBackground.setIcon(iconBookManageSystemBackground); // 设置label的大小 labelBackground.setBounds(0,0,iconBookManageSystemBackground.getIconWidth() ,iconBookManageSystemBackground.getIconHeight()); // 将背景图片标签放入桌面面板的最底层 frame.getLayeredPane().add(labelBackground,new Integer(Integer.MIN_VALUE)); // 将容器转换为面板设置为透明 JPanel panel = (JPanel)container; panel.setOpaque(false); } }
重点内容 :
将图片标签放在窗体底层面板,然后将窗体转化为容器,将容器面板设为透明,背景图片就设置好了,之后就可以直接在该容器中添加组件
- 将所有两个或两个以上类需要用到的代码段全部封装到了公共类。
- 整体按照MVC三层架构组织
参考文章:https://www.cnblogs.com/Qian123/p/5339164.html#_labelTop
参考文章:https://blog.csdn.net/acm_hmj/article/details/52830920
-
C语言开发简单的学生成绩管理系统(附源码)
2019-04-15 21:08:22学生成绩管理系统 开发语言:C语言 开发工具:Visual Studio 2019 开发时间:2019.4.14 开发者:summer @一、系统使用展示 @二、系统功能 @三、菜单 @四、录入学生信息 @五、打印学生信息 @六、保存学生信息 @七、... -
JAVA学生宿舍管理系统
2019-01-22 21:28:14system.java (系统管理界面) sql.java (数据库操作,包括连接、断开、增删改查等操作) 一、登陆界面及代码 主要代码: 登陆按钮事件 public void actionPerformed(ActionEvent e) { // TODO Auto-... -
C语言学生成绩管理系统源代码
2018-03-21 20:27:20大学C语言实训课,C语言学生成绩管理系统。 #include<stdio.h> #include<string.h> #include<math.h> struct student { int num; char name[20]; float pingshi; float shiyan; ... -
ASP.NET管理系统
2013-01-29 17:08:28一个简单的asp.net管理系统,有权限分配,控制到按钮级别.采用vs2008开发,数据库附加即可。 -
基于Java和MySQL的图书管理系统
2018-06-20 21:41:17Java图书管理系统 设计人:wangyunpeng_bio 项目需求 随着计算机的普及和应用水平的提高,经过考察比较,决定利用自己的Java知识开发小型的图书管理系统,方便图书的管理。 图书管理系统是典型的信息管理系统。... -
基于SSH商场管理系统
2012-07-17 22:49:16基于SSH的商场管理系统,基于SSH的商场管理系统 -
Java图书管理系统
2016-10-16 16:01:52项目参考自:http://www.java1234.com/a/yuanchuang/swing2/ 项目视频及代码下载地址:http://pan.baidu.com/s/1gdtVQtt 项目开发环境的搭建:...(2),图书类别管理 (3),图书管理 (4),退出二,工具(1) -
JAVA 实现简单的学生成绩管理系统
2018-04-15 10:27:232.掌握简单的信息管理系统的设计与实现。二、实验环境实验建议在安装了以下软件的计算机上完成:1.Windows xp/win7/win8/win10操作系统2.JDK 1.6以上版本3.Eclipse或NetBeans IDE或EditPlus或其它开发工具三、实验... -
Java-学生宿舍管理系统
2018-12-30 10:29:03这次记录的是最近完成的实训作业,学生宿舍管理系统,使用Java swing完成界面设计,数据库用的是SQL server,IDE使用的是IDEA 学生宿舍管理系统的用户有宿管和学生,宿管有最高的权限,学生只有部分权限, 一、... -
数据库课程设计实验报告--图书馆管理系统
2018-03-08 14:03:13一、系统平台 开发工具:Eclipse java Mars 数据库 MySQL server,Navicat可视化工具 操作系统:win10 ... 提取码:4y44 ... 图书馆信息管理系统数据库用以收集、存储书籍信息、人员(读者、图书管理员... -
教务管理系统JavaWeb项目
2018-03-25 16:35:06刚学完javaweb,做个项目练手与巩固所学的知识,同时分享自己写的这个教务管理系统,同样也是为自己记下笔记。为以后复习有帮助。该系统没有用到框架的知识,一共花了7天写出来。所以非常适合javaweb初学者教务管理... -
C#学生管理系统
2018-07-10 20:09:50环境:SqlServer+VS2015 ...C#成绩管理系统地址:https://blog.csdn.net/robot_sh/article/details/103537729 JAVA学生信息管理系统 :https://blog.csdn.net/robot_sh/article/details/103707016 ... -
【管理系统课程设计】美少女手把手教你后台管理
2019-11-19 09:44:48【文章后台管理系统】URL设计与建模分析+项目源码+运行界面 栏目管理、文章列表、用户管理、角色管理、权限管理模块(文章最后附有源码) 1. 这是一个什么系统? 1.1 学习后台管理系统的原因 随着时代的变迁,... -
物流管理系统
2020-04-22 11:08:32简介: 物流管理系统,对于货物的配送管理等 源码获取:物流管理系统源码 效果展示: -
学生信息管理系统c++
2017-07-01 19:28:02一个简单的c语言学生信息管理系统,是控制台程序。 运行界面如下,功能已经全部实现 本资料绝对原创,请认准发表时间,如有相同,请私信我。 -
学生宿舍管理系统
2020-03-01 09:30:21正普数字化校园宿舍管理系统是为学校宿管科老师方便管理学生住宿情况设计的信息管理系统,通过宿舍管理系统可实时掌握学校公寓使用情况、每个公寓楼房间住宿情况、全校学生住宿情况、每个学生住宿详细信息等等。... -
数据库课程设计 ——酒店管理系统
2019-05-31 10:36:11(1)酒店管理系统用于满足酒店工作人员和管理人员的需求。 (2)酒店管理人员和工作人员可以为酒店房间加入入住和退房记录,并生成相应的报表用于查阅,确认和保存,酒店工作人员可以浏览、查询、统计、添加酒店... -
基于Spring Security实现权限管理系统
2018-11-06 16:49:49基于Spring Security实现权限管理系统 稍微复杂一点的后台系统都会涉及到用户权限管理。何谓用户权限?我的理解就是,权限就是对数据(系统的实体类)和数据可进行的操作(增删查改)的集中管理。要构建一个可用的... -
基于JavaWeb开发的图书管理系统
2018-03-21 09:26:42使用Java开发的图书管理系统 如题,用Java开发而成,具备基础功能,读者可以注册登录,登录时会判断账号类型再分别跳到各自对应的页面,读者可以查找,借阅,还书,查看历史借阅记录,修改个人资料,密码等,管理... -
基于Spring+mybatis的SSM失物招领管理系统
2019-07-20 17:01:16运行环境:jdk 1.8 IDE环境:Eclipse 硬件环境:windows 7/8/10 1G内存以上 框架:java+Spring+mybatis 可以实现:用户发布失物,或者招领失物,管理员对用户,失物信息...SSM失物招领管理系统-未登录-登录的界面↓↓... -
图书管理系统数据库设计
2018-05-26 23:44:35图书管理系统数据库设计 博主在github上找的这个项目链接,大家想参考的可以看看! JAVA GUI 图书馆管理系统:https://github.com/uboger/LibraryManager 图书馆流通管理系统:... -
仓库管理系统
2019-07-26 20:24:10仓库管理系统(WMS)通过出库,入库、库位调拨、库存调拨等功能,综合批次管理,物料对应、库存盘点、质检管理和即时库存管理等功能综合运用的管理系统,有效控制和跟踪仓库业务的物流和成本管理的全过程,实现完善... -
C++ 校园管理系统、高校人员信息管理系统
2017-09-13 13:43:53“高校人员信息管理系统设计” 1、问题描述 某高校有四类员工教师、实验员、行政人员教师兼行政人员共有的信息包括编号、姓名、性别、年龄等。其中教师还包含的信息有所在系部、专业、职称实验员还... -
C# 图书管理系统【含 源代码+数据库】
2020-06-01 21:57:02图书借阅管理系统,主要目标是简化现有的人工管理,通过科学的计算机管理图书借阅管理,提高工作效率,实现日常管理信息化,无纸化。 1)系统用户主要分为两大类:a.管理员用户类(相当于一名有各种操作权限的超级... -
java 学生信息管理系统
2015-10-06 14:03:33学生信息管理包括添加,删除,修改,查询,显示全部等 具体结构如图 在SQL Server 2005数据库上实现数据操作。使用纯面向对象的java语言作为开发语言 在sql server 2005新建一个名为Student的数据库,在下面新建一... -
完整的酒店餐饮管理系统源代码包括开发文档
2012-09-25 17:10:13完整的酒店餐饮管理系统源代码包括开发文档
-
Redis总结
-
【硬核】一线Python程序员实战经验分享(1)
-
MHA 高可用 MySQL 架构与 Altas 读写分离
-
网络营销知识仓库.txt
-
远程调试 you can continue debugging but without the source Edit settings of path mapping in remote debug
-
在 Linux 上构建企业级 DNS 域名解析服务
-
大数据的基本概况.jpg
-
PAT甲级真题-1020 Tree Traversals详解优化
-
每日一题·97
-
视频转换器WonderFox便携注册版 UI界面好看.rar
-
395. 至少有 K 个重复字符的最长子串
-
凡客诚品 微博营销实践暨品牌创新.ppt
-
程序员数学基础【二、时间复杂度】
-
第二章 分支程序结构设计——作业-答案.html
-
Xyplayer X3.9.3正式版.rar
-
MyHackerrank挑战:我对Hackerrank挑战的工作总结-源码
-
冒泡排序小例子(c语言)
-
每日一题· 95
-
linux ubuntu18.04 英伟达驱动 实测能装上 识别1080ti 1070ti显卡 NVIDIA-Linux-x86_64-460.39.run
-
MySQL 备份与恢复详解(高低版本 迁移;不同字符集 相互转换;表