在线教育项目之专业信息功能

举报
tea_year 发表于 2025/09/19 11:26:52 2025/09/19
【摘要】 智慧教育管理系统介绍和部署适用人群1. 在校学生,小白用户,想学习知识的2. 有点基础,想要通过项目实操提高自己的开发能力的3. 找不到完整项目跟着练的4. 网上项目比较大,会提供资料,太大了,吃不了它可以学习到的技能1. 学会常用技术栈的使用2. 独立开发项目3. 学会前端的开发流程4. 学会后端的开发流程5. 学会数据库的设计6. 学会前后端接口调用方式7. 学会多模块之间的关联

新增功能

Entity

TypeScript
package com.example.entity;

import lombok.Data;

@Data
public class Speciality {

private Integer id;
private String name;
private Integer collegeId;

}

前端

Manager.vue

修改Manager.vue,添加专业信息导航

XML
<el-menu-item index="/speciality">
<el-icon><School /></el-icon>
<span>专业信息</span>
</el-menu-item>

路由

添加speciality路由

TypeScript
{ path: 'speciality', component: () => import('@/views/manager/Speciality.vue')},

Speciality.vue

将资料Speciality.vue添加到views/manager中

[Speciality.vue]

后端

SpecialityController

Java
package com.example.controller;

/**
* 专业信息前端请求的接口入口
*/
@RestController
@RequestMapping("/speciality")
public class SpecialityController {
@Resource
private SpecialityService specialityService;

/**
* 新增
*/
@PostMapping("/add")
public Result add(@RequestBody Speciality speciality) {
specialityService.add(speciality);
return Result.success();
}
}

SpecialityService

TypeScript
package com.example.service;

import com.example.entity.Speciality;

public interface SpecialityService {
void add(Speciality speciality);
}

SpecialityServiceImpl

Java
package com.example.service.impl;

@Service
public class SpecialityServiceImpl implements SpecialityService {
@Resource
private SpecialityMapper specialityMapper;
@Override
public void add(Speciality speciality) {
specialityMapper.insert(speciality);
}
}

SpecialityMapper

Java
package com.example.mapper;

public interface SpecialityMapper {

@Insert("insert into speciality(name, college_id) values(#{name}, #{collegeId})")
void insert(Speciality speciality);
}


分页查询和条件查询

Speciality

添加院校名称字段,在页面显示

TypeScript
// 学院名称
private String collegeName;

SpecialityController

TypeScript
/**
* 分页查询
*/
@GetMapping("/selectPage")
public Result selectPage(String name,
@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "5") Integer pageSize) {
PageInfo<Speciality> pageInfo = specialityService.selectPage(name, pageNum, pageSize);
return Result.success(pageInfo);
}

SpecialityServiceImpl

TypeScript
@Override
public PageInfo<Speciality> selectPage(String name, Integer pageNum, Integer pageSize) {
List<Speciality> list;
PageHelper.startPage(pageNum, pageSize);
if (ObjectUtil.isNotEmpty(name)) {
list = specialityMapper.selectByName(name);
} else {
list = specialityMapper.selectAll();
}
return PageInfo.of(list);
}

SpecialityMapper

Java
package com.example.mapper;

public interface SpecialityMapper {

@Insert("insert into speciality(name, college_id) values(#{name}, #{collegeId})")
void insert(Speciality speciality);

@Select("SELECT s.*,c.`name` collegeName FROM speciality s " +
"LEFT JOIN college c ON s.college_id = c.id " +
"WHERE s.`name` LIKE CONCAT('%',#{name},'%')")
List<Speciality> selectByName(String name);

@Select("SELECT s.*,c.`name` collegeName FROM speciality s " +
"LEFT JOIN college c ON s.college_id = c.id")
List<Speciality> selectAll();
}


查询所有功能

完善新增或编辑教师时的专业信息显示

SpecialityController

TypeScript
/**
* 查询所有
*/
@GetMapping("/selectAll")
public Result selectAll() {
List<Speciality> list = specialityService.selectAll();
return Result.success(list);
}

SpecialityServiceImpl

TypeScript
@Override
public List<Speciality> selectAll() {
return specialityMapper.selectAll();
}


更新功能

SpecialityController

SQL
/**
* 更新
*/
@PutMapping("/update")
public Result update(@RequestBody Speciality speciality) {
specialityService.updateById(speciality);
return Result.success();
}

SpecialityServiceImpl

TypeScript
@Override
public void updateById(Speciality speciality) {
specialityMapper.updateById(speciality);
}

SpecialityMapper

TypeScript
@Update("update speciality set name = #{name}, college_id = #{collegeId} where id = #{id}")
void updateById(Speciality speciality);

删除功能

SpecialityController

SQL
/**
* 根据id删除
*/
@DeleteMapping("/deleteById/{id}")
public Result deleteById(@PathVariable Integer id) {
specialityService.deleteById(id);
return Result.success();
}

SpecialityServiceImpl

TypeScript
@Override
public void deleteById(Integer id) {
specialityMapper.deleteById(id);
}

SpecialityMapper

TypeScript
@Delete("delete from speciality where id = #{id}")
void deleteById(Integer id);


【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。