• 学生管理系统 前后端分离项目【简约版】


    前言:本项目以学生管理系统为例,实现了新增和查询功能

     后端:SpringBoot    前端:Vue+elementui

    1、操作步骤:

            1、在MySQL数据库中生成学生信息表(t_student)

            2、将html中的spboot项目导入HBuilder X中,并且在终端下载npm(联网) 

    运行命令:npm i。下载完成之后,运行项目(npm run dev),查看是否能访问页面。

            3、以上步骤完成后即可开始编写后台代码。java项目导入Idea中首先检查Maven的配置是否与本机的路径一致,然后再导入依赖(联网)。再检查application.yml和jdbc.properties文件中的数据库配置(数据库名/账号/密码)是否与数据库一致; 在 generatorConfig.xml文件中修改 指定数据库jdbc驱动的jar包位置。 生成model/mapper层


    4、后端代码:StudentMapper.java

    1. package com.zking.spboot.mapper;
    2. import com.zking.spboot.model.Student;
    3. import org.springframework.stereotype.Repository;
    4. import java.util.List;
    5. @Repository
    6. public interface StudentMapper {
    7. /**
    8. * 模糊查询
    9. * @param student
    10. * @return
    11. */
    12. List queryAll(Student student);
    13. int insert(Student record);
    14. }

    StudentMapper.xml

    1. "1.0" encoding="UTF-8" ?>
    2. mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
    3. <mapper namespace="com.zking.spboot.mapper.StudentMapper" >
    4. <resultMap id="BaseResultMap" type="com.zking.spboot.model.Student" >
    5. <constructor >
    6. <idArg column="sid" jdbcType="INTEGER" javaType="java.lang.Integer" />
    7. <arg column="sname" jdbcType="VARCHAR" javaType="java.lang.String" />
    8. <arg column="score" jdbcType="REAL" javaType="java.lang.Float" />
    9. <arg column="sex" jdbcType="VARCHAR" javaType="java.lang.String" />
    10. constructor>
    11. resultMap>
    12. <sql id="Base_Column_List" >
    13. sid, sname, score, sex
    14. sql>
    15. <select id="queryAll" resultType="com.zking.spboot.model.Student">
    16. select <include refid="Base_Column_List"/> from t_student where 1=1
    17. <if test="sname!=null and sname!='' ">
    18. and sname like concat('%',#{sname},'%')
    19. if>
    20. select>
    21. <insert id="insert" parameterType="com.zking.spboot.model.Student" >
    22. insert into t_student (sname, score, sex)
    23. values (#{sname,jdbcType=VARCHAR}, #{score,jdbcType=REAL}, #{sex,jdbcType=VARCHAR})
    24. insert>
    25. mapper>

    StudentService.java

    1. package com.zking.spboot.service;
    2. import com.zking.spboot.model.Student;
    3. import org.springframework.stereotype.Repository;
    4. import java.util.List;
    5. public interface StudentService {
    6. /**
    7. * 模糊查询
    8. * @param student
    9. * @return
    10. */
    11. List queryAll(Student student);
    12. /**
    13. * 新增
    14. * @param record
    15. * @return
    16. */
    17. int insert(Student record);
    18. }

     StudentServiceImpl.java

    1. package com.zking.spboot.service.impl;
    2. import com.zking.spboot.mapper.StudentMapper;
    3. import com.zking.spboot.model.Student;
    4. import com.zking.spboot.service.StudentService;
    5. import org.springframework.beans.factory.annotation.Autowired;
    6. import org.springframework.stereotype.Service;
    7. import java.util.List;
    8. @Service
    9. public class StudentServiceImpl implements StudentService {
    10. @Autowired
    11. private StudentMapper studentMapper;
    12. @Override
    13. public List queryAll(Student student) {
    14. return studentMapper.queryAll(student);
    15. }
    16. @Override
    17. public int insert(Student record) {
    18. return studentMapper.insert(record);
    19. }
    20. }

    StudentController.java

    1. package com.zking.spboot.controller;
    2. import com.zking.spboot.model.Student;
    3. import com.zking.spboot.service.StudentService;
    4. import lombok.AllArgsConstructor;
    5. import lombok.Data;
    6. import lombok.NoArgsConstructor;
    7. import org.springframework.beans.factory.annotation.Autowired;
    8. import org.springframework.web.bind.annotation.RequestMapping;
    9. import org.springframework.web.bind.annotation.RestController;
    10. import java.util.List;
    11. @RestController
    12. @RequestMapping("/student")
    13. public class StudnetController {
    14. @Autowired
    15. private StudentService studentService;
    16. @RequestMapping("/queryAll")
    17. public JsonResponseBody> queryAll(Student student){
    18. List students = studentService.queryAll(student);
    19. return new JsonResponseBody<>(200,"Ok",students);
    20. }
    21. @RequestMapping("/addStu")
    22. public JsonResponseBody addStu(Student student){
    23. studentService.insert(student);
    24. return new JsonResponseBody<>();
    25. }
    26. /**
    27. * 匿名内部类
    28. * @param
    29. */
    30. @Data
    31. @AllArgsConstructor
    32. @NoArgsConstructor
    33. class JsonResponseBody{
    34. private int code=200;
    35. private String msg="OK";
    36. private T data;
    37. }
    38. }

    运行项目,查看是否有数据。

     


    5、在前端页面编写vue文件。项目需要用到elementUI中的组件(搜索框、数据表格、对话框)

    Element - The world's most popular Vue UI framework(elementUI 官网)

    5.1、先在action.js中配置跳转路径

    1. /**
    2. * 对后台请求的地址的封装,URL格式如下:
    3. * 模块名_实体名_操作
    4. */
    5. export default {
    6. //服务器
    7. 'SERVER': 'http://localhost:8080/spboot',
    8. 'ADDSTU':'/student/addStu',
    9. 'QUERYSTU':'/student/queryAll',
    10. //获得请求的完整地址,用于mockjs测试时使用
    11. 'getFullPath': k => {
    12. return this.SERVER + this[k];
    13. }
    14. }

    5.2、编辑StuList.vue文件

    6、新增&模糊查询

     

  • 相关阅读:
    Centos 7.9 一键安装 Oracle 12CR2(240116)单机 PDB
    2022年科协第二次硬件培训总结
    Consul服务注册与发现
    Tomcat 启动闪退问题解决方法
    使用javacv对摄像头视频转码并实现播放
    转运RNA(tRNA)甲基化修饰7-甲基胞嘧啶(m7C)|tRNA-m7G
    R语言拟合ARIMA模型:使用forecast包中的auto.arima函数自动搜索最佳参数组合、模型阶数(p,d,q)
    GhMYB7促进棉纤维中次生壁纤维素的积累
    【光学】基于matlab模拟光栅条纹投影生成
    HashMap遍历之EntrySet————小练习
  • 原文地址:https://blog.csdn.net/m0_61911999/article/details/127817884