精华内容
下载资源
问答
  • XX管理系统

    2017-07-12 20:16:57
    带gcc工具的linux平台编译。
  • C#XX管理系统

    2020-02-20 00:17:49
    就是那种写烂了的XX管理系统。居然还有人会掏钱买,然后我还挣地特别爽。 不知道你的钱有没有流入过我的口袋,不过服务宗旨不退票。 以下是最近应付老师写的一个C#版本,如果觉得好康就点个赞。 using System; ...

    孩子别傻了,不要再去所谓的程序代写群找帮手了

    • 如果你不信期末作业能直接从我这里复制粘贴,就可以关上了。
    • 就是那种写烂了的XX管理系统。居然还有人会掏钱买,然后我还挣地特别爽。
      不知道你的钱有没有流入过我的口袋,不过服务宗旨不退票。

    以下是最近应付老师写的一个C#版本,如果觉得好康就点个赞。

    using System;
    using System.Collections.Generic;
    
    class Singleton<T> where T : new()
    {
        private static T instance;
        public static T Instance
        {
            get
            {
                if (instance == null)
                {
                    instance = new T();
                }
                return instance;
            }
        }
    }
    
    class AccountChache
    {
        public string ID, Name;
        public override string ToString()
        {
            return "ID:" + ID + "\nName" + Name;
        }
    }/// <summary>
    /// 学生类
    /// </summary>
    class Controled : AccountChache
    {
        /// <summary>
        /// 三门课的成绩
        /// </summary>
        public double Chinese, English, Math;
        /// <summary>
        /// 一个简单的input函数,让输入像Python里面一样简单
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        public string Input(string msg)
        {
            Console.WriteLine(msg);
            return Console.ReadLine();
        }
        /// <summary>
        /// 初始化函数,默认情况下三门课的成绩都为0
        /// </summary>
        /// <param name="id"></param>
        /// <param name="name"></param>
        /// <param name="c"></param>
        /// <param name="e"></param>
        /// <param name="m"></param>
        public Controled(string id, string name, double c = 0, double e = 0, double m = 0)
        {
            ID = id;
            Name = name;
            Chinese = c;
            English = e;
            Math = m;
        }
        /// <summary>
        /// 输出所有成绩
        /// </summary>
        public void ShowAllGrades()
        {
            Console.WriteLine("语文成绩是:", Chinese);
            Console.WriteLine("数学成绩是:", Math);
            Console.WriteLine("英语成绩是:", English);
        }
        /// <summary>
        /// 输出学生的所有详细情况
        /// </summary>
        public void ShowDetails()
        {
            Console.WriteLine(base.ToString());
            ShowAllGrades();
        }
        /// <summary>
        /// 修改成绩
        /// </summary>
        public void SetAllGrades()
        {
            double c, e, m;
            c = Convert.ToInt32("请输入语文成绩");
            e = Convert.ToInt32("请输入英语成绩");
            m = Convert.ToInt32("请输入数学成绩");
            Chinese = c;
            Math = m;
            English = e;
            Console.WriteLine("修改成功,修改后的成绩如下");
            ShowAllGrades();
        }
    }
    
    /// <summary>
    /// 班级类
    /// </summary>
    class ControledManager
    {
        Dictionary<int, Controled> ControledList = new Dictionary<int, Controled>();
        static int Count = 0;
        public string IDCode;
        public override string ToString()
        {
            return "本班共有学生" + Count.ToString() + "人" +"本班班号为:" + IDCode;
        }
        public ControledManager()
        {
            IDCode = Input("请输入班号");
        }
        public string Input(string msg)
        {
            Console.WriteLine(msg);
            return Console.ReadLine();
        }
        /// <summary>
        /// 添加学生
        /// </summary>
        public void AddControledMember()
        {
            string id, name;
            id = Input("请输入学号");
            name = Input("请输入姓名");
            Controled controled = new Controled(id, name);
            ControledList.Add(++Count, controled);
            Console.WriteLine("添加成功");
        }
        /// <summary>
        /// 删除学生
        /// </summary>
        public void RemoveControledMember()
        {
            int Find_id;
            Find_id = Convert.ToInt32(Input("请输入学生ID"));
            if (ControledList.ContainsKey(Find_id))
            {
                Console.WriteLine(ControledList[Find_id].ToString());
                string sure = Input("确定要删除吗?(y/n)");
                if (sure == "y" || sure == "Y")
                {
                    ControledList.Remove(Find_id);
                    Count--;
                    Console.WriteLine("删除成功");
                }
            }
            else
            {
                Console.WriteLine("查无此人");
            }
        }
        /// <summary>
        /// 修改学生成绩
        /// </summary>
        public void ModifyControledMemberGrades()
        {
            int Find_id;
            Find_id = Convert.ToInt32(Input("请输入学生ID"));
            if (ControledList.ContainsKey(Find_id))
            {
                Console.WriteLine(ControledList[Find_id].ToString());
                ControledList[Find_id].SetAllGrades();
            }
            else
            {
                Console.WriteLine("查无此人");
            }
        }
        /// <summary>
        /// 查找学生
        /// </summary>
        public void SearchControledMember()
        {
            int Find_id;
            Find_id = Convert.ToInt32(Input("请输入学生ID"));
            if (ControledList.ContainsKey(Find_id))
            {
                ControledList[Find_id].ShowDetails();
            }
            else
            {
                Console.WriteLine("查无此人");
            }
        }
    }
    
    
    /// <summary>
    /// 老师类
    /// </summary>
    class Controler : Singleton<Controler>
    {
        /// <summary>
        /// 职称
        /// </summary>
        public string Position;
        public string name;
        Dictionary<int, ControledManager> ControlerManagerList = new Dictionary<int, ControledManager>();
        static int Count = 0;
        public string Input(string msg)
        {
            Console.WriteLine(msg);
            return Console.ReadLine();
        }
        public Controler()
        {
            Position = Input("请输入职位");
            name = Input("请输入姓名");
        }
        public void AddClass()
        {
            ControledManager controledManager = new ControledManager();
            ControlerManagerList.Add(++Count, controledManager);
            Console.WriteLine("添加成功");
            Console.ReadLine();
        }
        public void RemoveClass()
        {
            int Find_id = Convert.ToInt32(Input("请输入班级id"));
            if (ControlerManagerList.ContainsKey(Find_id))
            {
                string sure = Input("是否删除该班级?");
                if (sure.ToUpper() == "Y")
                {
                    ControlerManagerList.Remove(Find_id);
                    Console.WriteLine("删除成功");
                }
            }
            else
            {
                Console.WriteLine("查无此班");
            }
            Console.ReadLine();
        }
        public void ModifyClass()
        {
            Console.Clear();
            int Find_id = Convert.ToInt32(Input("请输入班级id"));
            if (ControlerManagerList.ContainsKey(Find_id))
            {
                Console.WriteLine("1、增加学生");
                Console.WriteLine("2、删除学生");
                Console.WriteLine("3、修改学生成绩");
                Console.WriteLine("4、查找学生");
                int i = Convert.ToInt32(Input("请输入您要进行的操作:"));
                switch (i)
                {
                    case 1:
                        ControlerManagerList[Find_id].AddControledMember();
                        break;
                    case 2:
                        ControlerManagerList[Find_id].RemoveControledMember();
                        break;
                    case 3:
                        ControlerManagerList[Find_id].ModifyControledMemberGrades();
                        break;
                    case 4:
                        ControlerManagerList[Find_id].SearchControledMember();
                        break;
                }
            }
            else
            {
                Console.WriteLine("查无此班");
            }
            Console.ReadLine();
            Console.Clear();
        }
        public void SearchClass()
        {
            int Find_id = Convert.ToInt32(Input("请输入班级id"));
            if (ControlerManagerList.ContainsKey(Find_id))
            {
                Console.WriteLine(ControlerManagerList[Find_id].ToString());
            }
            else
            {
                Console.WriteLine("查无本班");
            }
            Console.ReadLine();
        }
    }
    
    public static class main
    {
        public static void Main()
        {
            Controler controler = new Controler();
            
            while(true)
            {
                Console.Clear();
                Console.WriteLine("学生信息管理系统");
                Console.WriteLine("1、增加班级");
                Console.WriteLine("2、删除班级");
                Console.WriteLine("3、改动班级");
                Console.WriteLine("4、查找班级");
                Console.WriteLine("请输入您需要的操作");
                int i = Convert.ToInt32(Console.ReadLine());
                switch(i)
                {
                    case 1:
                        Console.Clear();
                        controler.AddClass();
                        Console.Clear();
                        break;
                    case 2:
                        Console.Clear();
                        controler.RemoveClass();
                        Console.Clear();
                        break;
                    case 3:
                        Console.Clear();
                        controler.ModifyClass();
                        Console.Clear();
                        break;
                    case 4:
                        Console.Clear();
                        controler.SearchClass();
                        Console.Clear();
                        break;
                }
            }
        }
    }
    

    就是这样OvO

    展开全文
  • XX管理系统摘要1 技术选型1.1 Mysql81.2 springboot21.3 模板引擎thymeleaf2 项目构建2.1 创建项目2.2 建表3 项目实现3.1 项目效果3.2 项目结构4 代码实现4.1 前台页面4.2 后台业务实现4.2.1 实体类Employee4.2.2 ...

    摘要

           对企业来说,人、物资、能源、资金、信息是5大重要资源。人、物资、能源、资金这些都是可见的有形资源,而信息是一种无形的资源。以前人们比较看重有形的资源,进入信息社会和知识经济时代以后,信息资源就显得日益重要。因为信息资源决定了如何更有效地利用物资资源。信息资源是人类与自然的斗争中得出的知识结晶,掌握了信息资源,就可以更好地利用有形资源,使有形资源发挥更好的效益。 1

           由此可见,诸如各类管理系统还是很有价值的,笔者经历的公司内部都有自己实现的管理系统,可能有些非互联网的公司是依靠其他公司提供的信息管理服务,ERP系统至今还发挥着重要作用,笔者下班后连忙带赶,经历数个小时的鏖战,终于做完了此xx管理系统,在此与诸位分享。

    1 技术选型

    1.1 Mysql8

           为什么是mysql8,不是5版本的。没错就是喜新厌旧啦!!!
           mysql8有何特别之处呢!
           1.性能就是好,没错它就是强,所以当然上Mysql8,快点上8。
    就是强呀
           2.Mysql8还支持各种牛逼的功能:SQL窗口函数,GIS,JSON扩展语法等等。总之这些功能听着就挺牛,由于笔者自己还没弄明白,就不赘述了。

    1.2 springboot2

           当前主流的web开发框架,不二之选,没有比这更方便的了,为什么选这个,它就是无敌,没有竞争对手啊。自动装配,父级依赖,嵌入tomcat等等,就是无敌呀。
    无敌的我 又回来了

    1.3 模板引擎thymeleaf

           用模板引擎也实属无奈,笔者不会前端呀,毕竟人的精力是有限的。不过这个东西还是挺好用的,赶脚用着和几年前学写jsp也差不多。

    2 项目构建

    2.1 创建项目

           spring initializer
    在这里插入图片描述
           取个心爱的项目名字
    在这里插入图片描述
           勾选需要的依赖,mysql,thymeleaf,jpa
    在这里插入图片描述

    2.2 建表

           好吧,笔者为了偷懒,没有建表ddl,直接上jpa,先建一个需要的库,create database。做完这些,项目开始的准备工作就已经完了,马上又带了激动人心的撸代码环节了。

    3 项目实现

    3.1 项目效果

           主页面
    在这里插入图片描述
           就是这样滴,如此就已然发挥了笔者百分之两百的前端功力了,各种查阅资料,复制copy加代码修改,修修改改终于有了上边的模样,应该不算太丑吧!好吧,我承认了。

    3.2 项目结构

           和主流web开发项目的结构基本大同小异:
           对应数据库实体的entity包,对应数据库操作的repo目录,对应业务代码的service目录,对应restful api的controller目录。
    项目结构

    4 代码实现

    4.1 前台页面

           首页面,就是上边看到的那个帅气的首页!

    <!DOCTYPE html>
    <html lang="en" xmlns:th="http://www.thymeleaf.org">
    <head>
        <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
        <meta charset="UTF-8">
        <title>xx-manager</title>
    </head>
    <body>
    <header th:replace="xx-header.html"></header>
    <div class="container my-2">
        <a th:href="@{/newEmployee}" class="btn btn-primary btn-sm mb-3"> 新增 </a>
        <table border="1" class = "table table-striped table-responsive-md">
            <thead>
            <tr>
                <th>姓名</th>
                <th>邮箱</th>
                <th>电话</th>
                <th>地址</th>
                <th>操作</th>
            </tr>
            </thead>
            <tbody>
            <tr th:each="employee : ${employees}">
                <td th:text="${employee.name}"></td>
                <td th:text="${employee.email}"></td>
                <td th:text="${employee.mobile}"></td>
                <td th:text="${employee.location}"></td>
                <td><a th:href="@{/updateEmployee/{id}(id=${employee.id})}" class="btn btn-primary">修改</a>
                    <a th:href="@{/deleteEmployee/{id}(id=${employee.id})}" class="btn btn-danger">删除</a></td>
            </tr>
            </tbody>
        </table>
    
        <div th:if="${totalPages > 1}">
            <div class="row col-sm-10">
                <div class="col-sm-2">
                    总人数: [[${items}]]
                </div>
                <div class="col-sm-1">
                        <span th:each="i: ${#numbers.sequence(1, totalPages)}">
          <a th:if="${currentPage != i}" th:href="@{'/page/' + ${i}}">[[${i}]]</a>
          <span th:unless="${currentPage != i}">[[${i}]]</span> &nbsp; &nbsp;
                        </span>
                </div>
                <div class="col-sm-1">
                    <a th:if="${currentPage < totalPages}" th:href="@{'/page/' + ${currentPage + 1}}">下一页</a>
                    <span th:unless="${currentPage < totalPages}">下一页</span>
                </div>
    
                <div class="col-sm-1">
                    <a th:if="${currentPage < totalPages}" th:href="@{'/page/' + ${totalPages}}">尾页</a>
                    <span th:unless="${currentPage < totalPages}">尾页</span>
                </div>
            </div>
        </div>
    </div>
    <footer th:replace="footer.html"></footer>
    </body>
    </html>
    

           新增功能页面

    <!DOCTYPE html>
    <html lang="en" xmlns:th="http://www.thymeleaf.org">
    <head>
        <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
        <meta charset="UTF-8">
        <title>xx-manager</title>
    </head>
    <body>
    <header th:replace="xx-header.html"></header>
    <div class="container">
        <h1>xx-manager</h1>
        <hr>
        <h2>保存</h2>
    
        <form action="#" th:action="@{/saveEmployee}" th:object="${employee}" method="POST">
            <input type="text" th:field="*{name}" placeholder="姓名" class="form-control mb-4 col-4">
    
            <input type="text" th:field="*{email}" placeholder="邮箱" class="form-control mb-4 col-4">
    
            <input type="text" th:field="*{mobile}" placeholder="电话" class="form-control mb-4 col-4">
    
            <input type="text" th:field="*{location}" placeholder="住址" class="form-control mb-4 col-4">
    
            <button type="submit" class="btn btn-info col-2">保存</button>
        </form>
    
        <hr>
    
        <a th:href="@{/}">回退</a>
    </div>
    <footer th:replace="footer.html"></footer>
    </body>
    </html>
    

           修改功能页面

    <!DOCTYPE html>
    <html lang="en" xmlns:th="http://www.thymeleaf.org">
    <head>
        <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
        <meta charset="UTF-8">
        <title>xx-manager</title>
    </head>
    <body>
    <header th:replace="xx-header.html"></header>
    <div class="container">
        <h1>xx-manager</h1>
        <hr>
        <h2>更新</h2>
    
        <form action="#" th:action="@{/saveEmployee}" th:object="${employee}" method="POST">
    
            <input type="hidden" th:field="*{id}" />
    
            <input type="text" th:field="*{name}" class="form-control mb-4 col-4">
    
            <input type="text" th:field="*{email}" class="form-control mb-4 col-4">
    
            <input type="text" th:field="*{mobile}" class="form-control mb-4 col-4">
    
            <input type="text" th:field="*{location}" class="form-control mb-4 col-4">
    
            <button type="submit" class="btn btn-info col-2">修改</button>
    
        </form>
    
        <hr>
    
        <a th:href="@{/}">回退</a>
    </div>
    <footer th:replace="footer.html"></footer>
    </body>
    </html>
    

    4.2 后台业务实现

    4.2.1 实体类Employee

           对应数据库中的表

    package com.lbh.xxmanager.entity;
    
    import javax.persistence.*;
    
    /**
     * Copyright(c)lbhbinhao@163.com
     * @author liubinhao
     * @date 2021/1/7
     * ++++ ______                           ______             ______
     * +++/     /|                         /     /|           /     /|
     * +/_____/  |                       /_____/  |         /_____/  |
     * |     |   |                      |     |   |        |     |   |
     * |     |   |                      |     |   |________|     |   |
     * |     |   |                      |     |  /         |     |   |
     * |     |   |                      |     |/___________|     |   |
     * |     |   |___________________   |     |____________|     |   |
     * |     |  /                  / |  |     |   |        |     |   |
     * |     |/ _________________/  /   |     |  /         |     |  /
     * |_________________________|/b    |_____|/           |_____|/
     */
    @Entity
    @Table(name = "xx_employee")
    public class Employee {
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private long id;
        @Column(name = "name")
        private String name;
        @Column(name = "email")
        private String email;
        @Column(name = "mobile")
        private String mobile;
        @Column(name = "location")
        private String location;
        @Column(name="status")
        private int status;
    
    
        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 getEmail() {
            return email;
        }
    
        public void setEmail(String email) {
            this.email = email;
        }
    
        public String getMobile() {
            return mobile;
        }
    
        public void setMobile(String mobile) {
            this.mobile = mobile;
        }
    
        public String getLocation() {
            return location;
        }
    
        public void setLocation(String location) {
            this.location = location;
        }
    
        public int getStatus() {
            return status;
        }
    
        public void setStatus(int status) {
            this.status = status;
        }
    }
    

    4.2.2 数据库操作层repo

    package com.lbh.xxmanager.repo;
    
    import com.lbh.xxmanager.entity.Employee;
    import org.springframework.data.domain.Page;
    import org.springframework.data.domain.Pageable;
    import org.springframework.data.jpa.repository.JpaRepository;
    import org.springframework.stereotype.Repository;
    
    import java.util.List;
    
    /**
     * Copyright(c)lbhbinhao@163.com
     * @author liubinhao
     * @date 2021/1/7
     * ++++ ______                           ______             ______
     * +++/     /|                         /     /|           /     /|
     * +/_____/  |                       /_____/  |         /_____/  |
     * |     |   |                      |     |   |        |     |   |
     * |     |   |                      |     |   |________|     |   |
     * |     |   |                      |     |  /         |     |   |
     * |     |   |                      |     |/___________|     |   |
     * |     |   |___________________   |     |____________|     |   |
     * |     |  /                  / |  |     |   |        |     |   |
     * |     |/ _________________/  /   |     |  /         |     |  /
     * |_________________________|/b    |_____|/           |_____|/
     */
    @Repository
    public interface EmployeeRepository extends JpaRepository<Employee,Long> {
    
        List<Employee> findAllByStatus(int status);
    
        Page<Employee> findAllByStatus(int status, Pageable pageable);
    
        Page<Employee> findAllByStatusAndLocationLikeOrNameLikeOrEmailLike(int status,String locaion,String name,String email, Pageable pageable);
    
    }
    

    4.2.3 业务代码service

    接口:

    package com.lbh.xxmanager.service;
    
    import com.lbh.xxmanager.entity.Employee;
    import org.springframework.data.domain.Page;
    
    import java.util.List;
    
    /**
     * Copyright(c)lbhbinhao@163.com
     * @author liubinhao
     * @date 2021/1/7
     * ++++ ______                           ______             ______
     * +++/     /|                         /     /|           /     /|
     * +/_____/  |                       /_____/  |         /_____/  |
     * |     |   |                      |     |   |        |     |   |
     * |     |   |                      |     |   |________|     |   |
     * |     |   |                      |     |  /         |     |   |
     * |     |   |                      |     |/___________|     |   |
     * |     |   |___________________   |     |____________|     |   |
     * |     |  /                  / |  |     |   |        |     |   |
     * |     |/ _________________/  /   |     |  /         |     |  /
     * |_________________________|/b    |_____|/           |_____|/
     */
    public interface EmployeeService {
    
        List<Employee> findAllEmployees();
    
        void saveEmployee(Employee employee);
    
        Employee getEmployeeById(long id);
    
        void deleteEmployeeById(long id);
    
        Page<Employee> findPaging(int no,int size);
    
        Page<Employee> findPaging(int no,int size,String searchKey);
    }
    

           业务实现类:

    package com.lbh.xxmanager.service;
    
    import com.lbh.xxmanager.entity.Employee;
    import com.lbh.xxmanager.repo.EmployeeRepository;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.data.domain.Page;
    import org.springframework.data.domain.PageRequest;
    import org.springframework.data.domain.Pageable;
    import org.springframework.stereotype.Service;
    
    import java.util.List;
    import java.util.Optional;
    
    /**
     * Copyright(c)lbhbinhao@163.com
     *
     * @author liubinhao
     * @date 2021/1/7
     * ++++ ______                           ______             ______
     * +++/     /|                         /     /|           /     /|
     * +/_____/  |                       /_____/  |         /_____/  |
     * |     |   |                      |     |   |        |     |   |
     * |     |   |                      |     |   |________|     |   |
     * |     |   |                      |     |  /         |     |   |
     * |     |   |                      |     |/___________|     |   |
     * |     |   |___________________   |     |____________|     |   |
     * |     |  /                  / |  |     |   |        |     |   |
     * |     |/ _________________/  /   |     |  /         |     |  /
     * |_________________________|/b    |_____|/           |_____|/
     */
    @Service
    public class EmployeeServiceImpl implements EmployeeService {
    
        @Autowired
        private EmployeeRepository employeeRepository;
    
        @Override
        public List<Employee> findAllEmployees() {
            return employeeRepository.findAllByStatus(0);
        }
    
        @Override
        public void saveEmployee(Employee employee) {
            employee.setStatus(0);
            employeeRepository.save(employee);
        }
    
        @Override
        public Employee getEmployeeById(long id) {
            Optional<Employee> byId = employeeRepository.findById(id);
            Employee employee = null;
            if (byId.isPresent()){
                employee = byId.get();
            }else {
                throw new RuntimeException("该id员工不存在!");
            }
            return employee;
        }
    
        @Override
        public void deleteEmployeeById(long id) {
            Employee employeeById = getEmployeeById(id);
            employeeById.setStatus(1);
            employeeRepository.save(employeeById);
        }
    
        @Override
        public Page<Employee> findPaging(int no, int size) {
            Pageable pageable = PageRequest.of(no - 1,size);
            return employeeRepository.findAllByStatus(0,pageable);
        }
    
        @Override
        public Page<Employee> findPaging(int no, int size, String searchKey) {
            String key = "%"+searchKey+"%";
            Pageable pageable = PageRequest.of(no - 1,size);
            return employeeRepository.findAllByStatusAndLocationLikeOrNameLikeOrEmailLike(0,key,key,key,pageable);
        }
    }
    

    4.2.4 Web接口

    package com.lbh.xxmanager.controller;
    
    import com.lbh.xxmanager.entity.Employee;
    import com.lbh.xxmanager.service.EmployeeService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.data.domain.Page;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.*;
    import org.thymeleaf.util.StringUtils;
    
    import java.util.List;
    
    /**
     * Copyright(c)lbhbinhao@163.com
     * @author liubinhao
     * @date 2021/1/7
     * ++++ ______                           ______             ______
     * +++/     /|                         /     /|           /     /|
     * +/_____/  |                       /_____/  |         /_____/  |
     * |     |   |                      |     |   |        |     |   |
     * |     |   |                      |     |   |________|     |   |
     * |     |   |                      |     |  /         |     |   |
     * |     |   |                      |     |/___________|     |   |
     * |     |   |___________________   |     |____________|     |   |
     * |     |  /                  / |  |     |   |        |     |   |
     * |     |/ _________________/  /   |     |  /         |     |  /
     * |_________________________|/b    |_____|/           |_____|/
     */
    @Controller
    public class EmployeeController {
    
        @Autowired
        private EmployeeService employeeService;
    
        @GetMapping("/")
        public String index(Model model){
            model.addAttribute("employees",employeeService.findAllEmployees());
            return "redirect:/page/1";
        }
    
        @GetMapping("/newEmployee")
        public String newEmployee(Model model){
            Employee employee = new Employee();
            model.addAttribute("employee",employee);
            return "new_employee";
        }
    
        @PostMapping("/saveEmployee")
        public String saveEmployee(@ModelAttribute Employee employee){
            employeeService.saveEmployee(employee);
            return "redirect:/";
        }
    
        @GetMapping("/updateEmployee/{id}")
        public String updateEmployee(@PathVariable Long id,Model model){
            Employee employeeById = employeeService.getEmployeeById(id);
            model.addAttribute("employee",employeeById);
            return "update_employee";
        }
    
        @GetMapping("/deleteEmployee/{id}")
        public String deleteEmployee(@PathVariable Long id){
            employeeService.deleteEmployeeById(id);
            return "redirect:/";
        }
    
        @GetMapping("/page/{pageNo}")
        public String findPaging(@PathVariable int pageNo, @RequestParam(required = false) String key, Model model){
            Page<Employee> paging = null;
            if (StringUtils.isEmpty(key)) {
                paging = employeeService.findPaging(pageNo, 5);
            }
            else{
                paging = employeeService.findPaging(pageNo, 5,key);
            }
            List<Employee> content = paging.getContent();
            model.addAttribute("currentPage",pageNo);
            model.addAttribute("totalPages",paging.getTotalPages());
            model.addAttribute("items",paging.getTotalElements());
            model.addAttribute("employees",content);
            return "index";
        }
    }
    

    4.3 配置文件

    springboot的配置文件

    server.port=9001
    spring.datasource.username=root
    spring.datasource.password=你的数据库密码
    spring.datasource.url=jdbc:mysql://localhost:3303/xx-manager?serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=CONVERT_TO_NULL&autoReconnect=true&useSSL=false&failOverReadOnly=false
    
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    
    # The SQL dialect makes Hibernate generate better SQL for the chosen database
    spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
    # update 这样写可以自动建表,更新表
    # Hibernate ddl auto (create, create-drop, validate, update)
    spring.jpa.hibernate.ddl-auto=update
    
    logging.level.org.hibernate.SQL=DEBUG
    logging.level.org.hibernate.type=TRACE
    

    5 总结

           写一个这样简单的后台信息管理还是不难,看来笔者还是宝刀未老。下班回家开始做,不过写博客是真滴难,都过了12点还没有写完,写博客和我写代码的时间也相差无几了。哎,我这可怜的头发啊。在这里插入图片描述


    1. 百度百科词条.信息管理系统 ↩︎

    展开全文
  • 大学生 计算机 毕业设计 xx管理系统 毕设(1)

    万次阅读 多人点赞 2019-01-20 21:40:34
    xx管理系统 计算机专业的毕设,尤其是计科专业,总是脱离不开的简单题目就是xx管理系统,学生宿舍管理系统,仓库管理系统,超市销售管理系统,宠物医院挂号系统,会员卡管理系统,人才管理系统,图书管理系统,社区...

    xx管理系统

    计算机专业的毕设,尤其是计科专业,总是脱离不开的简单题目就是xx管理系统,学生宿舍管理系统,仓库管理系统,超市销售管理系统,宠物医院挂号系统,会员卡管理系统,人才管理系统,图书管理系统,社区物业管理系统,教学信息管理系统等等题目。都9102年了,我相信大部分学校老师给出的依然是这些题目。

    本科生的毕设

    大学生本科毕设还停留在xx管理系统的阶段也是学科教学与学生能力所限,毕竟不用统计大家也清楚身边学计算机的恐怕至少五成是不想编程的。于是出现了很多买毕设的情况,导致我也心痒痒想做这种xx管理系统来收点外快

    但是跑到淘宝一看,开个这种店的何止成百上千,而且手握几百个已经开发好的程序随便一改就拿来卖了

    自己也不善于言辞和沟通,开个店也没有那么多各种项目的积累,又不想跑去给学弟学妹们说给我钱我给你们做毕设吧(当年也是菜鸡,不然真就帮同学做了,室友花了八百买了个辣鸡,还有个女同学花了三千连论文都买了,这钱真是好挣)

    这次开个坑写个专题帮计算机专业的同学脱离毕设的苦海吧。从这个专题写下去,我的目标是,一能学到实际开发的知识(从零教起,从什么都不懂学起);二是能从中懂得这个世界的运行规律(毫不夸张,能在后面讲清楚互联网背后的运作规律是这个系列的另一个目标)

    本系列的计划

    就从做一个管理系统开始写,从基本的工具教起,用2019年还不过时的框架。可能会写的比较慢,也可能会弃坑。
    首先然我们摒弃jsp,.net这些十年前的工具。从流行的前后端分离,vue的前端+spring boot的后端,开始学起吧。
    本次依托于开源的框架,renren-fast,搭建起来的初步展示效果可以参考官方demo,用户名密码admin/admin。
    前端的git地址https://github.com/renrenio/renren-fast-vue,后端的git地址https://gitee.com/renrenio/renren-fast
    这个框架集成了几个常用的工具类框架可以省掉很多事情,并且使用了目前流行的前后端分离的模式和开发框架,十分适合拿来做一个xx管理系统

    那从哪里开始学起呢?

    从最基础的开始学起,对于大部分同学来说,可能看着文档把这个有源码的工程跑起来都是一件很困难的事情。
    所以从开发工具和环境准备开始教起。
    环境准备:
    jdk 1.8
    MySQL
    npm
    git(可选)

    开发工具:
    IDEA
    visual studio code
    Navicat for MySQL (可选)

    我们一个一个开始讲起,jdk,本科阶段肯定大部分学校还是会开设Java相关的课程,有的是大一作为基础编程语言学的,也有的大二大三再补得Java编程,总而言之如果连装Java,配环境变量都没搞过的话。。。还是出门不要说自己学计算机的吧。
    MySQL作为一个开源的数据库,虽然后来被收购了,开源的改名MariaDB了,但是本质还是没变的嘛,就是个传统关系型数据库。
    npm就是搞前端才需要的咯。node.js就是运行在服务端的 JavaScript,npm是一个包管理工具,相当于Java工程的maven。
    git是用来做代码管理的,如果GitHub都没听说过,那出门也别说自己学计算机的。。。

    下面三个工具,idea是最好用的Java IDE,不想用换eclipse也行,visual studio code拿来写前端足够了,换webstorm也行。最后那个数据库管理工具,SQLyog或者别的啥也都可以。

    当然你要是真的什么都不会也没关系,安装包和安装文档我打包放在qq群里了,群号972611583
    也可扫码入群在这里插入图片描述

    展开全文
  • xx管理系统测试文档

    2008-10-31 15:37:50
    xx管理系统的测试文档,主要是对测试过程的记录和测试结果的记录,测试数据方面还有一点欠缺。
  • 这个是我偶然间给别人写的XX管理系统 后来发现不用结构体和链表也能做出来 留作纪念
  • 项目名称:XX管理系统 使用技术:后台语言基于PHP、数据库为MySQL,使用的软件为Navicat;其中使用到的css样式库为bootstrap 我的职责:完成项目用户管理部分,包括用户的增删查改 一、设计的数据库如下(id是自增的...

    项目名称:XX管理系统
    使用技术:后台语言基于PHP、数据库为MySQL,使用的软件为Navicat;其中使用到的css样式库为bootstrap
    我的职责:完成项目用户管理部分,包括用户的增删查改

    一、设计的数据库如下(id是自增的,touxiang表示存放用户头像图片的路径,name指的是用户名,sex是用户性别,old是用户出生年份):在这里插入图片描述
    二、主页面的结构如下,包括的所要的增删查改等操作
    在这里插入图片描述主页面的源代码如下:

    <?php 
    	//连接数据库
    	$connect = mysqli_connect('localhost','root','','hlnd');
    	if(!$connect){
    		exit('<h2>连接数据库失败</h2>');
    	}
    	//此函数用来解决中文乱码的问题
    	mysqli_set_charset($connect,'utf8');
    	//此查询可以到数据库里一行一行的那数据
    	$query = mysqli_query($connect,'select * from user');
    	
    ?>
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>XXX管理系统</title>
      <link rel="stylesheet" href="assets/css/bootstrap.css">
      <link rel="stylesheet" href="assets/css/style.css">
    </head>
    <body>
      <nav class="navbar navbar-expand navbar-dark bg-dark fixed-top">
        <a class="navbar-brand" href="#">XXX管理系统</a>
        <ul class="navbar-nav mr-auto">
          <li class="nav-item active">
            <a class="nav-link" href="index.html">用户管理</a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="#">商品管理</a>
          </li>
        </ul>
      </nav>
      <main class="container">
        <h1 class="heading">用户管理 <a class="btn btn-link btn-sm" href="add.php">添加</a></h1>
        <table class="table table-hover">
          <thead>
            <tr>
              <th>#</th>
              <th>头像</th>
              <th>姓名</th>
              <th>性别</th>
              <th>年龄</th>
              <th class="text-center" width="140">操作</th>
            </tr>
          </thead>
          <tbody>
    			//根据前面的$query去遍历操作一行一行的数据
    			<?php while($item = mysqli_fetch_assoc($query)):?>
    				<tr>
    				  <th scope="row"><?php echo $item['id']; ?></th>
    				  <td><img src="<?php echo $item['touxiang']; ?>" class="rounded" alt="张三"></td>
    				  <td><?php echo $item['name']; ?></td>
    				  <td><?php echo $item['sex'] == 1 ? '♂' : '♀'; ?></td>
    				  //计算用户的年龄
    				  <td><?php echo date('Y') - $item['old']; ?></td>
    				  <td class="text-center">
    					//跳转到编辑页面,通过url的?传值的方法
    					<a class="btn btn-info btn-sm" href="edit.php?id=<?php echo $item['id']; ?>">编辑</a>
    					//跳转到删除页面,完成操作后返回到主页面
    					<a class="btn btn-danger btn-sm" href = "delete.php?id=<?php echo $item['id']; ?>">删除</a>
    				  </td>
    				</tr>
    			<?php endwhile ?>
          </tbody>
        </table>
      </main>
    </body>
    </html>
    
    

    三、删除部分
    思路:在主页面点击“删除”按钮后,主页面通过url的?传值方式获得id的指,从而删除数据库上对应的一条数据,并通过修改header函数的Location回到主页面。
    源代码如下:

    <?php 
    	//查看主页面有没有传递?id过来
    	if(empty($_GET['id'])){
    		exit('<h1>缺少必须的参数</h1>');
    	}
    	$id = $_GET['id'];
    	//连接数据库
    	$connect = mysqli_connect('localhost','root','','hlnd');
    	if(!$connect){
    		exit('<h2>连接数据库失败</h2>');
    	}
    	//解决中文乱码问题
    	mysqli_set_charset($connect,'utf8');
    	//mysql的删除语句
    	$query = mysqli_query($connect,'delete from user where id = ' . $id . ';');
    	if(!$query){
    		exit('<h2>查询数据库失败</h2>');
    	}
    	//获取受影响行
    	$affected_rows = mysqli_affected_rows($connect);
    	if($affected_rows <= 0){
    		exit('<h2>获取搜影响行数失败</h2>');
    	}
    	//跳回主页面
    	header('Location: index.php');
    ?>
    

    四、增加用户部分

    其中添加用户界面如下:
    在这里插入图片描述
    思路:管理员在主页面点击“添加”按钮以后跳转到增加用户页面输入用户信息,并在浏览器和后台都检查信息输入是否出错,如果所有信息都没有问题则输入到数据库中,并返回到主页面。

    添加功能的源代码如下:

    <?php 
    	$GLOBALS['error_message'] = '';
    	function add_user(){
    		//验证普通表单
    		if(empty($_POST['name'])){
    			$GLOBALS['error_message'] = '请输入您的姓名';
    			return;
    		}
    		if(!(isset($_POST['gender'])) && $_POST['gender'] !== '-1'){
    			$GLOBALS['error_message'] = '请输入您的性别';
    			return;
    		}
    		if(empty($_POST['birthday'])){
    			$GLOBALS['error_message'] = '请输入您的生日';
    			return;
    		}
    			
    		//校验头像文件
    		if(!(isset($_FILES['avatar']))){
    			$GLOBALS['error_message'] = '请输入头像文件';
    			return;
    		}
    		$avatar = $_FILES['avatar'];
    		if($avatar['error'] !== UPLOAD_ERR_OK){
    			$GLOBALS['error_message'] = '请输入正确的头像文件';
    			return;
    		}
    		//校验文件大小
    		if($avatar['size'] > 10*1024*1024){
    			$GLOBALS['error_message'] = '头像文件过大';
    			return;
    		}
    		if($avatar['size'] < 1024){
    			$GLOBALS['error_message'] = '头像文件过小';
    			return;
    		}
    		//检验文件类型
    		$allow_ava = array('image/jpeg','image/png','image//gif');
    		if(!in_array($avatar['type'],$allow_ava)){
    			$GLOBALS['error_message'] = '不支持该图片文件类型';
    			return;
    		}
    		//保存文件,并把临时文件移动到目标目录里面
    		$ext = pathinfo($_FILES['avatar']['name'],PATHINFO_EXTENSION);
    		$target = '../uploadu/avatar-' . uniqid() . '.' . $ext;
    		if(!move_uploaded_file($avatar['tmp_name'],$target)){
    			$GLOBALS['error_message'] = '上传文件失败哟';
    			return;
    		}
    		
    		//数据整合
    		$user_name = $_POST['name'];
    		$user_gender =$_POST['gender'];
    		$user_birthday = substr($_POST['birthday'],0,4);
    		$user_avatar = substr($target,2);
    		// var_dump($user_name);
    		// var_dump($user_gender);
    		// var_dump($user_birthday);
    		// var_dump($user_avatar);
    		//var_dump("insert into user value(null, '{$user_avatar}', '{$user_name}',$user_gender, '{$user_birthday}')");
    		//连接数据库
    		$connect = mysqli_connect('localhost','root','','hlnd');
    		if(!$connect){
    			exit('<h2>连接数据库失败</h2>');
    		}
    		mysqli_set_charset($connect,'utf8');
    		$query = mysqli_query($connect,"insert into user value(null, '{$user_avatar}', '{$user_name}',$user_gender, '{$user_birthday}')");
    		if(!$query){
    			exit('<h2>查询数据库失败</h2>');
    		}
    		$affected_rows = mysqli_affected_rows($connect);
    		if($affected_rows <= 0){
    			exit('<h2>获取搜影响行数失败</h2>');
    		}
    		header('Location: index.php');
    	}
    	
    	if($_SERVER['REQUEST_METHOD'] === 'POST'){
    		add_user();
    	}
    ?>
    
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>XXX管理系统</title>
      <link rel="stylesheet" href="assets/css/bootstrap.css">
      <link rel="stylesheet" href="assets/css/style.css">
    </head>
    <body>
      <nav class="navbar navbar-expand navbar-dark bg-dark fixed-top">
        <a class="navbar-brand" href="#">XXX管理系统</a>
        <ul class="navbar-nav mr-auto">
          <li class="nav-item active">
            <a class="nav-link" href="index.html">用户管理</a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="#">商品管理</a>
          </li>
        </ul>
      </nav>
      <main class="container">
        <h1 class="heading">添加用户</h1>
    	<div class="form-group bg-danger">
    		<?php if($error_message != ''){ ?>
    				<h><?php echo $GLOBALS['error_message'] ?></h>
    		<?php }?>
    	</div>
        <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" autocomplete="off">
          <div class="form-group">
            <label for="avatar">头像</label>
            <input type="file" class="form-control" id="avatar" name="avatar">
          </div>
          <div class="form-group">
            <label for="name">姓名</label>
            <input type="text" class="form-control" id="name" name="name">
          </div>
          <div class="form-group">
            <label for="gender">性别</label>
            <select class="form-control" id="gender" name="gender">
              <option value = "-1">请选择性别</option>
              <option value = "1">男</option>
              <option value = "0">女</option>
            </select>
          </div>
          <div class="form-group">
            <label for="birthday">生日</label>
            <input type="date" class="form-control" id="birthday" name="birthday">
          </div>
          <button class="btn btn-primary">保存</button>
        </form>
      </main>
    </body>
    </html>
    
    

    五、编辑用户功能
    编辑用户信息的界面如下:
    在这里插入图片描述思路:编辑用户信息的页面和增加用户的页面相似,这是在开始显示一下头像,并把初始值也显示在表单中,获取到修改后的信息后,通过mysql的update语句更新数据库后,返回主页面。

    <?php 
    	if(empty($_GET['id'])){
    		exit('<h1>缺少必须的参数</h1>');
    	}
    	$id = $_GET['id'];
    	$connect = mysqli_connect('localhost','root','','hlnd');
    	if(!$connect){
    		exit('<h2>连接数据库失败</h2>');
    	}
    	mysqli_set_charset($connect,'utf8');
    	//选择到和index.php传来的id值相等的一条数据
    	$query = mysqli_query($connect,"select *from user where id = {$id}");
    	if(!$query){
    		exit('<h2>找数据库失败</h2>');
    	}
    	//抓取的特定id值的数据
    	$user = mysqli_fetch_assoc($query);
    	if(!$user){
    		exit('<h2>找不到你要编辑的数据</h2>');
    	}
    	//var_dump($user);
    	$affected_rows = mysqli_affected_rows($connect);
    	if($affected_rows <= 0){
    		exit('<h2>获取受影响行数失败</h2>');
    	}
    	
    	function edit_user(){
    		global $user;
    		if(empty($_POST['name'])){ 
    			$GLOBALS['error_message'] = '请输入您的姓名';
    			return;
    		}
    		if(!(isset($_POST['gender'])) && $_POST['gender'] !== '-1'){
    			$GLOBALS['error_message'] = '请输入您的性别';
    			return;
    		}
    		if(empty($_POST['birthday'])){
    			$GLOBALS['error_message'] = '请输入您的生日';
    			return;
    		}
    		//数据整合
    		$user['name'] = $_POST['name'];
    		$user['sex'] =$_POST['gender'];
    		$user['old'] = substr($_POST['birthday'],0,4);
    		
    		//校验头像文件
    		if(isset($_FILES['avatar']) && $_FILES['avatar']['error'] === UPLOAD_ERR_OK){
    			$ext = pathinfo($_FILES['avatar']['name'],PATHINFO_EXTENSION);
    			$target = '../uploadu/avatar-' . uniqid() . '.' . $ext;
    			if(!move_uploaded_file($avatar['tmp_name'],$target)){
    				$GLOBALS['error_message'] = '上传文件失败哟';
    				return;
    			}
    			$user['touxiang'] = substr($target,2);
    		}
    		$user_name = $user['name'];
    		// var_dump($user_name);
    		$user_sex = $user['sex'];
    		$user_old = $user['old'];
    		$user_avatar = $user['touxiang'];
    		//var_dump($user);
    		//var_dump("update user set name={$user_name}, sex={$user_sex}, old={$user_old}, touxiang={$user_avatar} where id = {$_GET['id']} ");
    		$conn = mysqli_connect('localhost','root','','hlnd');
    		if(!$conn){
    			exit('<h2>连接数据库失败</h2>');
    		}
    		mysqli_set_charset($conn,'utf8');
    		//把修改过后的数据更新到数据库中
    		$query1 = mysqli_query($conn,"update user set name='{$user_name}', sex={$user_sex}, old='{$user_old}', touxiang='{$user_avatar}' where id = {$_GET['id']} ");
    		if(!$query1){
    			exit('<h2>查询数据库失败</h2>');
    		}
    		$aff_rows = mysqli_affected_rows($conn);
    		if($aff_rows <= 0){
    			exit('<h2>获取搜影响行数失败</h2>');
    		}
    		header('Location: index.php');
    	}
    	
    	if($_SERVER['REQUEST_METHOD'] === 'POST'){
    		edit_user();
    	}
    ?>
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>XXX管理系统</title>
      <link rel="stylesheet" href="assets/css/bootstrap.css">
      <link rel="stylesheet" href="assets/css/style.css">
    </head>
    <body>
      <nav class="navbar navbar-expand navbar-dark bg-dark fixed-top">
        <a class="navbar-brand" href="#">XXX管理系统</a>
        <ul class="navbar-nav mr-auto">
          <li class="nav-item active">
            <a class="nav-link" href="index.html">用户管理</a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="#">商品管理</a>
          </li>
        </ul>
      </nav>
      <main class="container">
        <h1 class="heading">编辑<?php echo $user['name'] ?></h1>
    <!-- 	<div class="form-group bg-danger">
    		<?php if($error_message != ''){ ?>
    				<h><?php echo $GLOBALS['error_message'] ?></h>
    		<?php }?>
    	</div> -->
        <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>?id=<?php echo $user['id'] ?>" enctype="multipart/form-data" autocomplete="off">
          <img src="<?php echo $user['touxiang'] ?>" alt="">
    	  <div class="form-group">
            <label for="avatar">头像</label>
            <input type="file" class="form-control" id="avatar" name="avatar">
          </div>
          <div class="form-group">
            <label for="name">姓名</label>
            <input type="text" class="form-control" id="name" name="name" value="<?php echo $user['name'] ?>">
          </div>
          <div class="form-group">
            <label for="gender">性别</label>
            <select class="form-control" id="gender" name="gender">
              <option value = "-1">请选择性别</option>
              <option value = "1"<?php echo $user['sex'] == 1 ? ' selected':''; ?>>男</option>
              <option value = "0"<?php echo $user['sex'] == 0 ? ' selected':''; ?>>女</option>
            </select>
          </div>
          <div class="form-group">
            <label for="birthday">生日</label>
            <input type="date" class="form-control" id="birthday" name="birthday" value="<?php echo $user['old'] ?>">
          </div>
          <button class="btn btn-primary">保存</button>
        </form>
      </main>
    </body>
    </html>
    
    

    六、CSS代码
    其中的bootstrap.css在上面的文章中有提到,自己去下载便可
    style.css的代码如下

    body {
      padding-top: 3.5rem;
    }
    li {
    	list-style: none;
    }
    main {
      padding-top: 2rem;
    }
    
    .heading {
      margin-bottom: 2rem;
      /*padding-bottom: 9px;*/
      /*border-bottom: 1px solid #eee;*/
      font-weight: 300;
    }
    
    .table th,
    .table td {
      vertical-align: middle;
    }
    
    .table td img {
      height: 60px;
    }
    
    
    展开全文
  • 推荐的这几个 GitHub 项目并不是简单的 XX 管理系统,我会从下面这些方向推荐几个入门级别但是不那么 Low 的项目。 JavaWeb项目 移动端项目 机器学习项目 深度学习项目 推荐系统 大数据项目 01 JavaWeb项目 学之思...
  • 前几天写了一篇文章:你的毕业设计是 XX 管理系统吗?阅读量挺高的,很多读者还以为是推荐几个亮眼的 GitHub 项目,发现并不是。今天推荐几个项目,毕业设计可借鉴下面这几个 GitHu...
  • 关于XX管理系统

    2018-11-25 16:04:17
    小白一枚,最近学了C#基础,正在学习数据库,因为想要做个XX管理系统,想问下数据库学完了基础以后可以自己动手做管理系统了吗?或者说还需要补充什么方面的知识吗? 目前想先做一个C/S模式的管理系统,难度大吗?
  • XX管理系统准备工作

    2019-02-28 12:58:35
    准备工作: MySQL建库 建表 使用c3p0 数据库连接池: 导入jar包 修改xml...ComboPooledDataSource datasource = new ComboPooledDataSource()就创建好了连接池. 我们应该自己书写JDBCUtil工具类,在工具类中创建好连接...
  • 老实说,你是不是搞的图书管理系统啊 ?记得上学那会,宿舍 6 个人,5 个管理系统最后几天恶补毕业论文排版格式搞得自己头皮发麻第一次体会到了被 word 支配的恐惧今天心血来潮心想,历史上有哪些牛逼的毕业论文?我...
  • XX管理系统案例

    2015-07-24 17:30:00
    XX后台管理系统登录 title > < link href ="../css/StyleHouTai.css" rel ="stylesheet" /> < script type ="text/javascript" > if (window.parent.window != window) { window.top.location....
  • VB6.0+SQL2000 有代码和数据库文件 以及软件工程的模版
  • 关注我的兄弟有还在上学的吧毕业设计是不是刚刚开题?老实说,你是不是搞的图书管理系统啊 ?记得上学那会,宿舍 6 个人,5 个管理系统最后几天恶补毕业论文排版格式搞得自己头皮发麻第一次体...
  • 基于SpringBoot+Mybatis+Thymeleaf的XX管理系统实现一(准备+环境搭建) 这一部分实现controller层、entity层、service层的相关代码,先把spring的hello world跑通 也是对第一步配环境的检查和对spring DI和IOC...
  •  但是需要带上"迅雷SDK"就显得有点大了在泡论坛时找到了一个Wininet下载模块, 觉得不错就拿来做一个在线更新程序与"XX装饰管理系统"配套使用引入模块剑齿虎de模块 v2.65Wininet (并没有源码)文件\update.exe 在线...
  • 用户管理模块 用户的增删改查 还有分类 权限管理模块 管理员最高权限 其他管理员部分内容管理权限 普通注册用户访问主页权限 这一趴主要是在别人的项目二次开发的 不上图了 毕设最后差点图表 打算对用户信息再加个...
  • 首页 系统维护——用户管理 用户信息管理 编辑用户信息

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,435
精华内容 974
关键字:

xx管理系统