三阶段项目项目负责模块
一、题库
本次小组项目主要负责为题库和试题两个模块,整体题库的实现如图所示前端主要使用了vue框架和对应的elementUI完成整体页面的构建
此前端页面主要遇到的难点在与动态下拉框的实现, 在实现过程中主要出现以下两个问题
- 新增时不能点击数据不能实现内容动态填充
- 修改时数据未绑定
主要原因是由于在使用v-model的时候与绑定的值不对应,新增时要给其默认给个对象属性
后端主要在与对题库中所有试题的查询以及在进行外键关联表的查询,在进行题库删除时需要删除在中间表中的相关数据
在进行外键的联表查询时会出现com.fasterxml.jackson.databind.exc.InvalidDefinitionException 异常问题下需要在Entity实体类中加上一下注解@JsonIgnoreProperties(value = {“hibernateLazyInitializer”, “handler”})
在查询具体题库下的试题时由于数据库表设计为五种题型五张试题表对应五张中间表后端需要分别查询五张表的的数据通过前端获取的题库id再通过中间表的联查获取到试题信息存入不同的对象中再将该对象存入集合中最后返回给前端
前端请求传输的id
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J3h2p7h
每个试题表对应题库的所有试题对象集合
由于每张表的查询都是单独的而且都要循环放入集合中出于对性能的考虑可以使用到多线程分别查询由于时间问题没有进行具体操作