(1.)基本理论

 

JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。

 

 

 

 

 

 

 

 

 

(1. )实现数据的增删改查

1.在pom文件中引入需要的依赖

   <!--  引入mysql需要的依赖  -->

    <dependency>  

            <groupId>mysql</groupId>  

            <artifactId>mysql-connector-java</artifactId>  

   </dependency>  

    <!--  引入spring data jpa需要的依赖  -->

    <dependency>  

            <groupId>org.springframework.boot</groupId>  

            <artifactId>spring-boot-starter-data-jpa</artifactId>  

   </dependency>  

 

 

 2.创建resource folder  src/main/resource 文件夹

3.创建并配置application.properties文件

 

spring.datasource.url=jdbc:mysql://localhost:3306/test

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.driverClassName=com.mysql.jdbc.Driver

spring.datasource.max-active=20

spring.datasource.max-idle=5

spring.datasource.min-idle=5

spring.datasource.initial-size=10

 

 

 

 

spring.jpa.database=MYSQL

spring.jpa.show-sql=true

spring.jpa.hibernate.ddl-auto=update

spring.jpa.hibernate.naming-strategy=org.hibernate.cfg.ImprovedNamingStrategy

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

4.创建Grade实体类

package com.qzy.entity;

import javax.persistence.*;

@Entity
public class Grade {
    @Id
    @GeneratedValue(strategy= GenerationType.AUTO)
    private Integer grade_id;
    private String grade_name;

    public Integer getGrade_id() {
        return grade_id;
    }

    public void setGrade_id(Integer grade_id) {
        this.grade_id = grade_id;
    }

    public String getGrade_name() {
        return grade_name;
    }

    public void setGrade_name(String grade_name) {
        this.grade_name = grade_name;
    }
}

5.创建dao层

package com.qzy.dao;
import com.qzy.entity.Grade;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;

/**
 * CrudRepository<实体,主键数据类型>
 */
@Repository
public interface IGradeMapper extends CrudRepository<Grade,Integer> {
}

6.创建service层

package com.qzy.service;

import com.qzy.entity.Grade;

public interface IGradeService {
    public Grade insertGrade(Grade grade);


    public Grade updateGrade(Grade grade);

    public void deleteGrade(Integer id);


    public Iterable<Grade> getAll();
}

7.创建serviceimpl层

 

package com.qzy.service.impl;

import com.qzy.dao.IGradeMapper;
import com.qzy.entity.Grade;
import com.qzy.service.IGradeService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
@Service("iGradeService")
public class IGradeServcieImpl implements IGradeService {
    @Resource
    private IGradeMapper iGradeMapper;


    @Override
    public Grade insertGrade(Grade grade) {
        return iGradeMapper.save(grade);
    }

    @Override
    public Grade updateGrade(Grade grade) {
        return iGradeMapper.save(grade);
    }

    @Override
    public void deleteGrade(Integer id) {
        iGradeMapper.delete(id);

    }
    @Override
    public Iterable<Grade> getAll() {
        return iGradeMapper.findAll();
    }
    
}

8.创建controller层

package com.qzy.controller;
import com.qzy.entity.Grade;
import com.qzy.service.IGradeService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;

@RestController
@RequestMapping("/IGradeController")
public class IGradeController {
    @Resource
    private IGradeService iGradeService;
    
    //新增数据
    @RequestMapping("/insertGrade")
    public Grade insertGrade(){
        Grade grade=new Grade();
        grade.setGrade_name("S1");
        return iGradeService.insertGrade(grade);
    }
    @RequestMapping("/updateGrade")
    public Grade updateGrade(){
        Grade grade=new Grade();
        grade.setGrade_id(1);
        grade.setGrade_name("S2");
        return iGradeService.updateGrade(grade);
    }
    @RequestMapping("/deleteGrade")
    public void deleteGrade(){

        iGradeService.deleteGrade(1);
    }
    @RequestMapping("/getAllGrade")
    public Iterable<Grade> getAllGrade(){

        return  iGradeService.getAll();
    }
}

9.测试代码 观察效果

 

 

 

 

posted on 2019-12-12 15:16  朝秦暮楚·  阅读(447)  评论(0编辑  收藏  举报