JPA

》#千锋逆战#
Java持久性API(JPA)是Java的一个规范。 它用于在Java对象和关系数据库之间保存数据。 JPA充当面向对象的领域模型和关系数据库系统之间的桥梁。

由于JPA只是一个规范,它本身不执行任何操作。 它需要一个实现。 因此,像Hibernate,TopLink和iBatis这样的ORM工具实现了JPA数据持久性规范。
pom.xml


        
            junit
            junit
            4.12
        
        
            mysql
            mysql-connector-java
            5.1.44
        
        
            com.alibaba
            druid
            1.0.28
        
        
        
            org.springframework.data
            spring-data-jpa
            1.11.0.RELEASE
        
        
        
            org.hibernate
            hibernate-entitymanager
            5.2.10.Final
        
        
            org.springframework
            spring-test
            4.3.6.RELEASE
        
        
            org.projectlombok
            lombok
            1.18.6
        
    

spring-jpa.xml




    

    
    

    
        
        
        
        
    

    
    
        
        
    

    
    
        
        
        
        
            
                true
            
        
    

    
    
        
    
    
    
    


db.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/supermarket?useUnicode=true&characterEncoding=utf8&autoReconnect=true&rewriteBatchedStatements=TRUE
user=root
pass=123456

entity

package com.qfedu.entity;

import lombok.Data;

import javax.persistence.*;
import java.io.Serializable;

/**
 * (GoodType)实体类
 *
 * @author makejava
 * @since 2020-04-01 23:18:54
 */
@Entity
@Table(name = "good_type")
@Data
public class GoodType {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer gtid;
    
    private String gtname;


}

dao

package com.qfedu.dao;

import com.qfedu.entity.GoodType;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.io.Serializable;
@Repository
public interface IGoodsTypeDao extends JpaRepository {
}

service

package com.qfedu.service;

import com.qfedu.entity.GoodType;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import java.util.List;

public interface IGoodsTypeService {
    List getAllType();
    void saveType(GoodType gt);
}

service.impl

package com.qfedu.service.impl;

import com.qfedu.dao.IGoodsTypeDao;
import com.qfedu.entity.GoodType;
import com.qfedu.service.IGoodsTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
@Service
public class GoodsTypeServiceImpl implements IGoodsTypeService {
    @Resource
    private IGoodsTypeDao goodsTypeDao;
    public List getAllType() {
        return goodsTypeDao.findAll();
    }

    public void saveType(GoodType gt) {
        goodsTypeDao.saveAndFlush(gt);
    }
}

test

package com.qfedu.test;

import com.qfedu.entity.GoodType;
import com.qfedu.service.IGoodsTypeService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import javax.annotation.Resource;
import java.util.List;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring-jpa.xml")
public class TestService {
    @Resource
    private IGoodsTypeService goodsTypeService;
    @Test
    public void getAllType(){
        List allType = goodsTypeService.getAllType();
        for (GoodType type : allType) {
            System.out.println(type);

        }
    }
}

你可能感兴趣的:(JPA)