• SpringDataJPA案例


    (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.测试代码 观察效果

     

  • 相关阅读:
    03 http请求协议与响应协议
    02 web应用程序
    Django web框架目录
    01 http协议
    Django框架
    Bootstrap栅格系统
    bootstrap介绍和引入
    Python中日志logging模块
    Python 装饰器实现单列模式
    Python 如何理解可更改元组中的可变序列
  • 原文地址:https://www.cnblogs.com/qinzhenyu/p/12029358.html
Copyright © 2020-2023  润新知