Java前端Vue-13(学生管理系统二)

接听上回功能续写:

4.3 关键字搜索

1 后端开发

第一步:在PageRequest中新增key关键字,并提供getter和setter方法

在这里插入图片描述

第二步:在业务ClassService的queryClassByPage方法中新增模糊查询代码:

/**
     * 带关键字搜索
     * @param pageRequest
     * @return
     */
    public PageResult queryClassByPage(PageRequest pageRequest){
   
        PageResult pr = new PageResult();
        // 1 分页查找:PageHelper.startPage 作用紧跟着他的第一条sql语句
        // 第一个参数:页码,第几页
        // 第二个参数:每页条数,每页多少条数据
        PageHelper.startPage(pageRequest.getPage(),pageRequest.getRows());
        System.out.println("分页助手");
        // 关键字条件查询
        Example example = new Example(Classes.class);
        // 判断条件 pageRequest.getKey() != ""
        // 确保key不为空,才会拼接条件
        if(pageRequest.getKey()!=null&&(!"".equals(pageRequest.getKey()))){
   
            // 拼接条件
            example.createCriteria().andLike("classname","%"+pageRequest.getKey()+"%");
        }
//        List<Classes> list = classesMapper.selectAll();// select * from classes ||| where id between  x and y
        // select * from classes where classname like '%key%' ||| and id between x and y
        List<Classes> list = classesMapper.selectByExample(example);

        // 封装结果
        PageInfo<Classes> pageInfo = new PageInfo<>(list);

        pr.setCode(1);
        pr.setMsg("查找成功");
        pr.setTotal(pageInfo.getTotal());

        pr.setData(pageInfo.getList());
        return pr;
    }

2 前端开发

第一步:在ClassList.vue中新增关键字key

在这里插入图片描述

第二步:页面输入框绑定关键字

在这里插入图片描述

第三步:在搜索按钮上添加click事件

在这里插入图片描述

4.4 新增班级

1 后端开发

第一步:ClassService中新增保存的方法

public void addClass(Classes classes){
   
    classesMapper.insert(classes);
}

第二步:ClassController中新增保存方法

@PostMapping
public ResponseEntity<BaseResult> addClass(@RequestBody Classes classes){
   

    classService.addClass(classes);
    BaseResult br = new BaseResult(1,"成功");
    return ResponseEntity.ok(br);
}

2 前端开发

第一步: ClassesAdd.vue组件

<template>
  <div>
      <el-form ref="classes" :model="classes" label-width="80px">
        <el-form-item label="班级名称">
            <el-input v-model="classes.classname"></el-input>
        </el-form-item>
        <el-form-item>
            <el-button type="primary" @click="addClass()">新增</el-button>
        </el-form-item>
        </el-form>
  </div>
</template>

<script>
export default {
   
    data() {
   
        return {
   
            classes:{
   }
        }
    },
    methods: {
   
        addClass(){
   
            
        }
    },
}
</script>

第二步:配置子路由

在这里插入图片描述

第三步:ClassesList页面添加跳转

在这里插入图片描述
在这里插入图片描述

2 后端新增的提交

在这里插入图片描述

4.5 修改班级

1 修改回显

  1. 后端开发

第一步:在ClassService中添加如下方法

/**
     * 功能:班级回显
     * 根据id查找班级信息
     *
     */
    public Classes findById(Integer id){
   
        return classesMapper.selectByPrimaryKey(id);
    }

第二步:在ClassController中添加如下方法:

 @GetMapping("/{id}")
    public ResponseEntity<BaseResult> findById(@PathVariable("id") Integer id){
   
        Classes classes = classService.findById(id);
        BaseResult br = new BaseResult(1, "成功", classes);
        return ResponseEntity.ok(br);
    }
  1. 前端开发

第一步:获取表格数据,两种方式

在这里插入图片描述

第二步:创建UpdateClass.vue

<template>
  <div>
      修改页面
      <el-form ref="classForm" :model="classForm" label-width="80px">
        <el-form-item label="班级名称">
            <el-input v-model="classForm.classname"></el-input>
        </el-form-item>
        <el-form-item>
            <el-button type="primary" @click="onSubmit">修改</el-button>
        </el-form-item>
    </el-form>
  </div>
</template>

<script>
export default {
   
    data() {
   
        return {
   
            classForm:{
   }
        }
    },
    methods: {
   
        onSubmit(){
   
            
        }
    },
}
</script>

<style>

</style>

第三步:配置路由

在这里插入图片描述

第四步:ClassList页面配置页面跳转并传递id

在这里插入图片描述

第五步:在UpdateClass.vue中查找数据,回显

在这里插入图片描述

2 修改提交

  1. 后端开发

第一步:在ClassService中添加如下方法

    public void updateClass(Classes classes){
   
        classesMapper.updateByPrimaryKey(classes);
    }

第二步:在ClassController中添加如下方法:

@PutMapping
 public ResponseEntity<BaseResult> updateClass(@RequestBody Classes classes){
   
        classService.updateClass(classes);
        BaseResult br = new BaseResult(1, "成功");
        return ResponseEntity.ok(br);
 }
  1. 前端开发

在UpdateClass.vue中新增方法

在这里插入图片描述

4.6 删除班级

1. 后端开发

第一步:在ClassService中添加如下方法:

public void deleteClass(Integer id){
   
    classesMapper.deleteByPrimaryKey(id);
}

第二步:在ClassController中添加如下方法:

@DeleteMapping("/{id}")
public ResponseEntity<BaseResult> deleteClass(@PathVariable("id") Integer id){
   
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值