idea+HBuilderX实现springboot+springdata-jpa+vue+axios前后端分离增删改查,分页+解决跨域问题的idea页面

运行效果图

HBuilderX的HTML页面正在上传中

idea结构

idea+HBuilderX实现springboot+springdata-jpa+vue+axios前后端分离增删改查,分页+解决跨域问题的idea页面_第1张图片

实体类

@Data
@Entity
public class Student {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
    private String name;
    private String sex;
    private Integer gradeId;
}

service层接口

public interface StudentService {
    /**
     * 新增信息
     * @param student
     */
    Student save(Student student);
    /**
     * 查看全部信息
     * @return
     */
    Page<Student> getAll(Integer page,String name);
    /**
     * 修改信息
     * @param student
     */
    Student update(Student student);
    /**
     * 删除信息
     * @param id
     */
    void  datele(Integer id);
}

service层实现类

@Service
public class StudentServiceImpl implements StudentService {
    @Autowired
    private StudentDao studentDao;
    /**
     * 新增信息
     * @param student
     */
    @Override
    public Student save(Student student) {
        return studentDao.save(student);
    }
    /**
     * 查看全部信息
     * @return
     */
    @Override
    public Page<Student> getAll(Integer page,String name) {
        PageRequest request = PageRequest.of((page-1), 2);
        Page<Student> studentPage;
        if (name == null ){
            //分页查询
            studentPage =studentDao.findAll(request);
        }else {
            studentPage = studentDao.findByName(name,request);
        }
        return studentPage;
    }
    /**
     * 修改信息
     * @param student
     */
    @Override
    public Student update(Student student) {
        return studentDao.save(student);
    }
    /**
     * 删除信息
     * @param id
     */
    @Override
    public void datele(Integer id) {
        studentDao.deleteById(id);
    }
}

dao 层

public interface StudentDao extends JpaRepository<Student,Integer> {
    /**
     * 按条件分页查询
     * @param name
     * @param page
     * @return
     */
    @Query(value = "select * from student where name like concat('%',?,'%') ",nativeQuery = true)
    Page<Student> findByName(String name , PageRequest page);
}

controller 控制层

@RestController
@RequestMapping("/student")
@Api(value = "swagger ui 注释 api 级别")
public class StudentController {
    @Autowired
    private StudentService studentService;
    /**
     * 查询所有
     * @return
     */
    @GetMapping("/getAll")
    public Page<Student> getAll(Integer page,String name){
        if (page == null||page==0){
            page = 1;
        }
        Page<Student> page1 = studentService.getAll(page,name);
        return page1;
    }
    /**
     * 新增信息
     * @param student
     */
    @PostMapping("/save")
    public void save(@RequestBody Student student){
        studentService.save(student);
    }
    /**
     * 修改信息
     * @param student
     */
    @PutMapping("/update")
    public void update(@RequestBody Student student){
        studentService.update(student);
    }
    @DeleteMapping("/delete")
    public void detele(Integer id){
        studentService.datele(id);
    }
}

pom文件依赖

dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-webartifactId>
dependency>
<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-data-jpaartifactId>
dependency>
<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-devtoolsartifactId>
    <scope>runtimescope>
    <optional>trueoptional>
dependency>

<dependency>
    <groupId>mysqlgroupId>
    <artifactId>mysql-connector-javaartifactId>
    <version>8.0.13version>
dependency>
<dependency>
    <groupId>org.projectlombokgroupId>
    <artifactId>lombokartifactId>
    <optional>trueoptional>
dependency>
<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-testartifactId>
    <scope>testscope>
dependency>

<dependency>
    <groupId>io.springfoxgroupId>
    <artifactId>springfox-swagger2artifactId>
    <version>2.7.0version>
dependency>
<dependency>
    <groupId>io.springfoxgroupId>
    <artifactId>springfox-swagger-uiartifactId>
    <version>2.7.0version>
dependency>

yml配置文件

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/student?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
    password: root
    username: root
  jpa:
    database: mysql
    hibernate:
      ddl-auto: update
      naming:
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
        implicit-strategy: org.hibernate.boot.model.naming.ImplicitNamingStrategyComponentPathImpl
    show-sql: true

你可能感兴趣的:(springData,springboot,vue)