Giter Club home page Giter Club logo

class-management's Introduction

Class Management

关于本地开发

可直接导入该项目于本地,修改配置文件中的数据库连接信息,导入附带数据库结构的SQL文件可直接生成所有表
当你克隆项目到本地后可使用如下账号进行登录

  • SuperManager
    教师页账号:admin
    密码:123456
  • 普通教师
    教师页账号:jojo
    密码:123456
  • 学生
    学生页账号:laoliang 密码:123456

项目介绍

  • 关于项目,对于学习 SSM 是一个挺不错的练手项目,可以让你在烦恼的业务逻辑中保持一颗纯洁的❤
  • 开发前的一些准备工作,以及思考项目整体结构与思路
  • 记录开发过程中遇到的一些难题以及 BUG
  • 思考整个项目有哪些可以优化的地方,以及有哪些可以增加的功能

页面展示

null

项目需求

项目背景

对于初学 SSM 开发的朋友来说,最好的一个学习方式就是拿一个功能俱全的项目来练练手,通过自己的重构项目来发现其中的潜在难题,并且也能很好的在编码过程中总结和发现问题、解决问题。使用 SSM 开发的班级管理系统,简单并且实用,适合做练手项目。

功能需求

学生页面
教师后台页面

安装部署需求

  • 打成 war 包后使用 tomcat 部署

项目设计

总体设计

  • 本项目用到的技术和框架
  1. 项目构建: Maven
  2. Web 框架:Spring
  3. 数据库 ORM:MyBatis
  4. 数据库连接池:Druid
  5. 数据库:MySQL
  6. 分页插件:PageHelper
  7. 模板引擎:JSP
  8. 前端框架:Bootstrap
  • 本项目中的关键点
  1. 采用 SSM 开发,数据库使用连接池加 ORM 框架的模式。
  2. 整体系统采用后台管理+学生个人中心的方式搭建,后台管理用于管理班级学生,学生头像审核。
  • 环境
工具 名称
IDE IntelliJ IDEA
语言 JDK1.8、HTML、css、js
数据库 MySQL5.7
项目框架 SSM
ORM MyBatis
项目构建 Maven
运行环境 Ubuntu18.04
  • 结构设计
    对于熟悉 Spring 开发的朋友来说,相信对此结构也不会陌生。平时的开发过程中,结构设计是重要的环节,特别是协作开发的时候,明细的分包,模块化,可减少代码提交时的冲突。并且明确的结构有助于我们快速的寻找所对应的类。

业务设计

打包、部署和运行

  • 将本项目打成 war 包,使用下面的命令可以生成 war 包,也可以使用 IDE 直接生成 war 包
$ jar -cvf classmanager.war ./classmanager  
  • 使用 Tomcat 部署到云端或本地

数据库设计

开发流程

数据库 CRUD
  • controller 层中编写前端接口,接受前端参数
  • service 层中编写所需业务接口,供 controller 层调用
  • 实现 service 层中的接口,并注入 mapper 层中的 SQL 接口
  • 采用 MyBatisJavaConfig 方式编写 SQL 语句。由于并没有使用 MyBatis 的逆向功能,需要自己动手写所有 SQL 语句
  • 关于事务的实现,在配置中开启事务,并在 service 层需要实现事务的业务接口上使用 @Transactional 注解
页面与展示
  • 作为一名后端开发,对于 css 的功力有所欠缺,这里我使用了 Bootstrap 框架,极大的减少了页面开发的难度
  • 前端页面与后端的交互主要是在 controller 包中,并使用了 JSP 渲染页面
  • 自定义异常处理页面,实现自动跳转到 404、403 页面
其他功能

总结

开发中遇到的难点

class-management's People

Contributors

dependabot[bot] avatar liusk98 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.