通过SpringBoot框架实现简单的学生管理系统的增删改查

简单的学生系统

SpringBoot因其其实就是简单、快速、方便!所以本文通过SpringBoot搭建一个简单的学生管理系统(持续更新)!

准备工作:

 工具:Mysql,Idea,navicat(其他也可以),Postman,HbuilderX

准备工作:创建student表,表信息为:int id,varchar name,varchar age,varchar sex。

创建一个新的项目,

步骤:

通过SpringBoot框架实现简单的学生管理系统的增删改查_第1张图片

点击Next,下一步。

通过SpringBoot框架实现简单的学生管理系统的增删改查_第2张图片

设置好后,点击Next。

通过SpringBoot框架实现简单的学生管理系统的增删改查_第3张图片

通过SpringBoot框架实现简单的学生管理系统的增删改查_第4张图片

后端代码如下:

entity.java(实体层)

package com.kude.stu.kudestu.stu.entity;




import javax.persistence.*;

@Entity
@Table(name = "student") //必须和你创建的数据库名字一样
public class Student {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    private String name;
    private String age;
    private String sex;

    public Student() {
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age='" + age + '\'' +
                ", sex='" + sex + '\'' +
                '}';
    }
}

StudentDao.java(Dao层)

package com.kude.stu.kudestu.stu.dao;

import com.kude.stu.kudestu.stu.entity.Student;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import java.util.List;

public interface StudentDao extends JpaRepository {

    /**
     * 通过Id查询成员信息
     * @param id
     * @return
     */
    Student findStudentById(Integer id);

    /**
     * 通过Name查询成员信息
     * @param name
     * @return
     */
    @Query(name = "findStuByName",nativeQuery = true,value =
            "select * from student where name=:name")
    List findStuByName(@Param("name") String name);

    void deleteById(Integer id);
}

StudentService .java(Service层)

package com.kude.stu.kudestu.stu.service;

import com.kude.stu.kudestu.stu.entity.Student;
import org.springframework.data.domain.Page;

import java.util.List;


public interface StudentService {

    Student save(Student student);
    Student update(Student student);
    void delete(Integer id);
    Student findStuById(Integer id);
    List findStuByName(String name);

    /**
     *分页查询所有页
     * @param page 当前页,
     * @param pageSize  每页几条数据
     * @return
     */
    Page findAll(int page,int pageSize);

}

StudentServiceImpl.java(实现Service层的接口)

package com.kude.stu.kudestu.stu.service;

import com.kude.stu.kudestu.stu.dao.StudentDao;
import com.kude.stu.kudestu.stu.entity.Student;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;


import java.util.List;

@Service
public class StudentServiceImpl implements StudentService {

    @Autowired
    private StudentDao studentDao;


    @Override
    public Student save(Student student) {
        return studentDao.save(student);
    }

    @Override
    public Student update(Student student) {
        return studentDao.save(student);
    }

    @Override
    public void delete(Integer id) {
        studentDao.deleteById(id);
    }

    @Override
    public Student findStuById(Integer id) {
        return studentDao.findStudentById(id);
    }

    @Override
    public List findStuByName(String name) {
        return studentDao.findStuByName(name);
    }

    /**
     *
     * @param page 当前页,
     * @param pageSize  每页几条数据
     * @return
     */
    @Override
    public Page findAll(int page,int pageSize) {
        Pageable pageble= PageRequest.of(page,pageSize);
        return studentDao.findAll(pageble);
    }
}
StudentController.java
package com.kude.stu.kudestu.stu.controller;

import com.kude.stu.kudestu.stu.entity.Student;
import com.kude.stu.kudestu.stu.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.web.bind.annotation.*;


import javax.servlet.http.HttpServletResponse;
import java.util.List;

@RestController
@RequestMapping("/s")
public class StudentController {

    @Autowired
   private StudentService studentService;



    /**
     * 添加学生
     * @param student  参数
     * @return
     */
    @PostMapping("/add")
    public Student save(Student student){
        return studentService.save(student);
    }

    /**
     * 更新学生信息
     * @param student 参数
     * @return
     */

    @PostMapping("/update")
    public  Student update(@PathVariable("id") Student student){
        return studentService.update(student);
    }

    /**
     * 删除学生信息
     * @param id
     */

    @GetMapping("/del/{id}")
    public  String  delete(@PathVariable int id){
        studentService.delete(id);
        return "delete yes";
    }

    /**
     * 通过名字查询学生信息
     * @param name
     * @return
     */
    @GetMapping("/findByName/{name}")
    public List findStuByName(@PathVariable  String name){
        return studentService.findStuByName(name);
    }


    /**
     * 分页查询所有学生信息
     * @param
     * @return
     */

    @GetMapping("/query")
    public Page findByPage(Integer page ,HttpServletResponse response){

        response.setHeader("Access-Control-Allow-Origin","*");//异步请求响应头

        if(page==null || page<=0){
            page = 0;
        }else{
            page -= 1;
        }

        return studentService.findAll(page,5);
    }


    @GetMapping("/findById")
    public Student findStuById(int id){
        return studentService.findStuById(id);
    }
}

application.properties (配置文件)


#数据源配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/stu?useSSL=false&useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=Asia/Shanghai
#3306后面,3306/数据库名,不是表名
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.initialSize=20
spring.datasource.minIdle=50
spring.datasource.maxActive=500

#上下文配置
server.port=8888
server.servlet.context-path=/stu

#配置jpa
#帮我们自动生成表结构
spring.jpa.properties.hibernate.hbm2ddl.auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql= true
spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true

pom.xml  (pom文件)



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.4.RELEASE
         
    
    com.kude.stu
    kudestu
    0.0.1-SNAPSHOT
    kudestu
    Demo project for Spring Boot

    
        1.8
    

    
        
            org.springframework.boot
            spring-boot-starter-data-jpa
        
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-devtools
            runtime
        
        
            mysql
            mysql-connector-java
            5.1.46
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        

        
        
            com.alibaba
            druid
            1.1.10
        

        
            
            
            
        

    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


前端代码如下:

index.html



	
		
		
		
		
		
		
	
	
		
		

学生管理系统


添加学生
上一页  下一页 查询

add.html



	
		
		Add
	
	
		

添加学生


姓名:

年龄:

性别:

xiugai.html



	
		
		Xiugai
	
	
		

修改学生信息

id:

姓名:

年龄:

性别:

chaxun.html



	
		
		
	
	
		

查询学生信息

通过Id查询

id:

jquery.js

点击复制粘贴到你的Jquery.js

运行结果:

通过SpringBoot框架实现简单的学生管理系统的增删改查_第5张图片

通过SpringBoot框架实现简单的学生管理系统的增删改查_第6张图片

通过SpringBoot框架实现简单的学生管理系统的增删改查_第7张图片

通过SpringBoot框架实现简单的学生管理系统的增删改查_第8张图片

码云上后端代码:https://gitee.com/LOL_toulan/SpringBootProject

 

你可能感兴趣的:(java)