作者:鱼氵摆摆和叮叮猫琅_246 | 来源:互联网 | 2023-09-17 18:40
基于SSM框架的学生信息管理系统(中)项目开发步骤数据库设计数据表关系图系统总体ER图管理员实体学生实体班级实体学院实体数据库逻辑结构设计表名3.1管理员信息表序号列名数据类型长度
基于SSM框架的学生信息管理系统(中)
项目开发步骤
数据库设计
数据表关系图
系统总体ER图
管理员实体
学生实体
班级实体
学院实体
数据库逻辑结构设计
表名3.1 管理员信息表
序号 | 列名 | 数据类型 | 长度 | 标识 | 主键 | 允许空 | 说明 |
---|
1 | id | int(11) | 11 | N | Y | N | 编号 |
2 | name | varchar(25) | 75 | N | N | N | 姓名 |
3 | gender | char(1) | 3 | N | N | N | 性别 |
4 | password | varchar(30) | 90 | N | N | N | 密码 |
5 | email | varchar(50) | 150 | N | N | N | 邮箱 |
6 | address | varchar(100) | 300 | N | N | N | 地址 |
表名3.2 班级信息表
序号 | 列名 | 数据类型 | 长度 | 标识 | 主键 | 允许空 | 说明 |
---|
1 | cname | varchar(50) | 150 | N | Y | N | 班级名称 |
2 | major | varchar(50) | 150 | N | N | N | 专业 |
3 | counsellor | varchar(50) | 150 | N | N | N | 辅导员 |
4 | dept_id | int(11) | 11 | N | N | N | 学院编号 |
表名3.3 学院信息表
序号 | 列名 | 数据类型 | 长度 | 标识 | 主键 | 允许空 | 说明 |
---|
1 | did | int(11) | 11 | N | Y | N | 学院编号 |
2 | dept_name | varchar(50) | 150 | Y | N | N | 学院名称 |
表名3.4学生信息表
序号 | 列名 | 数据类型 | 长度 | 标识 | 主键 | 允许空 | 说明 |
---|
1 | id | int(11) | 11 | N | Y | N | 学生编号 |
2 | sno | varchar(20) | 60 | Y | N | N | 学号 |
3 | name | varchar(25) | 75 | N | N | N | 学生姓名 |
4 | gender | char(1) | 3 | N | N | N | 性别 |
5 | email | varchar(50) | 150 | N | N | N | 邮箱 |
6 | address | varchar(100) | 300 | N | N | N | 地址 |
7 | introduction | varchar(200) | 600 | N | N | N | 简介 |
9 | class_name | varchar(50) | 150 | N | N | N | 班级名称 |
创建实体类
用于处理登录表单提交的数据:LoginForm
成员变量:
private String username;
private String password;
private String verifyCode;
管理员实体类:Admin
成员变量:
private Integer id;
private String name;
private char gender;
private String password;
private String email;
private String address;
学生类:
用于添加学生和更新学生的类:Student
成员变量:
private Integer id;
private String sno;
private String name;
private char gender = '男'; //default
private String email;
private String address;
private String introduction;
private String cname; //班级名
用于多表查询的类:StudentBean
,在Student
类的基础上,新增一个成员变量:private ClassHelp classHelp;
,用于定义一个学生与班级之间一对一的关系。
班级类:
用于添加和更新班级的类:ClassHelp
private String cname;
private String major;
private String counsellor; //辅导员
private Integer dept_id; //外键
用于多表查询的类:ClassBean
,在ClassHelp
类的基础上,新增一个成员变量:private DeptBean deptBean;
,用于定义一个班级与学院之间一对一的关系
学院类:DeptBean
private Integer did;
private String dept_name;
创建DAO层相关类和对应的mapper映射文件
AdminMapper
AdminMapper.java
//验证登录信息是否正确
Admin login(LoginForm loginForm);
//通过姓名查询指定管理员信息
Admin findByName(String name);
//添加管理员信息
int insert(Admin admin);
//根据姓名查询指定/所有管理员列表
List<Admin> selectList(Admin admin);
//根据id更新指定管理员信息
int update(Admin admin);
//根据id修改指定用户密码
int updatePassword(Admin admin);
//根据id删除指定管理员信息
int deleteById(Integer[] ids);
AdminMapper.xml
StudentMapper
StudentMapper.java
//获取班级人数
List<HashMap<String, Object>> getStudentNumber();
//根据学号查询指定学生信息
Student findBySno(Student student);
//添加学生信息
int insert(Student student);
//根据id修改指定学生信息
int update(Student student);
//根据id删除指定学生信息
int deleteById(Integer[] ids);
StudentMapper.xml
StudentBeanMapper
StudentBeanMapper.java
//根据班级名(全名称)或学生名(模糊)查询所有的学生信息/全部学生信息列表
List<StudentBean> selectList(StudentBean studentBean);
StudentBeanMapper.xml
ClassHelpMapper
ClassHelper.java
//查找所有的班级
List<ClassHelp> findAll();
//通过名字查询
ClassHelp findByName(String cname);
//插入班级
int insert(ClassHelp classHelp);
//根据班级名更新班级信息
int update(ClassHelp classHelp);
//通过班级名删除班级
int deleteByClassName(String[] cnames);
ClassHelper.xml
ClassBeanMapper
ClassHelpMapper.java
///根据学院名(全名称)或班级名(模糊)查询所有的学生信息/全部学生信息列表
List<ClassBean> selectList(ClassBean classBean);
ClassBeanMapper.xml
DeptBeanMapper
DeptBeanMapper.java
List<DeptBean> findAll();
DeptBeanMapper.xml
用spring-test测试DAO层所有的方法
特别提醒 一定要做测试,别等到浏览器报400或500的时候再调bug,会比较麻烦。
创建测试类:MapperTest.java
public class MapperTest {
}
添加spring-test注解
//使用spring-test进行测试
@RunWith(SpringJUnit4ClassRunner.class)
//加载spring配置文件
@ContextConfiguration(locations = "classpath:spring-conf/applicationContext.xml")
public class MapperTest {
}
测试方法
以测试AdminMapper
中的insert(Admin admin)
方法为例
@RunWith(SpringJUnit4ClassRunner.class)
//加载spring配置文件
@ContextConfiguration(locations = "classpath:spring-conf/applicationContext.xml")
public class MapperTest {
//1. 注入AdminMapper
@Autowired
AdminMapper adminMapper;
@Test
public void test1() {
Admin admin = new Admin();
admin.setId(1);
admin.setName("赵匡胤");
admin.setGender('男');
admin.setPassword("123coca");
admin.setEmail("12345asd@gg.com");
admin.setAddress("云南省昆明市");
adminMapper.insert(admin);
}
}
基于SSM框架的学生信息管理系统(下)
需要源码和设计说明书(课程设计报告),请留下自己的邮箱或发送邮件至mark_walen@qq.com。