新增功能
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)