SpringCloud學習筆記(二)--JPA使用

添加JPA pom依賴

Demo使用的是mysql數據庫,添加mysql連接pom依賴

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

 配置mysql連接信息,

 

寫jpa接口,需繼承JpaRepository添加泛型,需要添加註解@Repository,可以使用其中繼承的方法,也可以按照jpa方法的規則,添加新方法

package ppc.product.jpa;
import	java.util.List;
import	java.lang.annotation.Repeatable;
import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import ppc.product.entity.Product;

@Repository
public interface ProductJpa extends JpaRepository<Product,String> {

    List<Product> findByProductStatus(Integer status);

}

寫測試類:

package ppc.product.jpa;
import	java.lang.management.RuntimeMXBean;

import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import ppc.product.entity.Product;

import java.util.List;

import static org.junit.jupiter.api.Assertions.*;

@RunWith(SpringRunner.class)
@SpringBootTest
class ProductJpaTest {

    @Autowired
    ProductJpa productJpa;

    @Test
    public void list(){
        List<Product> list = productJpa.findAll();
        for (Product product : list) {
            System.out.println(product);
        }

    }


    @Test
    public void findByProductStatus(){
        List<Product> list = productJpa.findByProductStatus(0);
        System.out.println(list.size());
    }
}

 查看測試結果

自帶方法

Hibernate: select product0_.product_id as product_1_1_, product0_.category_type as category2_1_, product0_.create_time as create_t3_1_, product0_.product_description as product_4_1_, product0_.product_icon as product_5_1_, product0_.product_name as product_6_1_, product0_.product_price as product_7_1_, product0_.product_status as product_8_1_, product0_.product_stock as product_9_1_, product0_.update_time as update_10_1_ from product_info product0_
Product(productId=157875196366160022, productName=皮蛋粥, productPrice=0.01, productStock=20, productDescription=好喫的皮蛋粥, productIcon=//fuss10.elemecdn.com/0/49/65d10ef215d3c770ebb2b5ea962a7jpeg.jpeg, productStatus=0, categoryType=11, createTime=2017-03-29 08:39:15.0, updateTime=2019-05-21 11:01:21.0)
Product(productId=157875227953464068, productName=慕斯蛋糕, productPrice=10.9, productStock=196, productDescription=美味爽口, productIcon=//fuss10.elemecdn.com/9/93/91994e8456818dfe7b0bd95f10a50jpeg.jpeg, productStatus=1, categoryType=1, createTime=2017-03-29 08:35:54.0, updateTime=2017-04-21 23:05:57.0)
Product(productId=164103465734242707, productName=蜜汁雞翅, productPrice=0.02, productStock=982, productDescription=好喫, productIcon=//fuss10.elemecdn.com/7/4a/f307f56216b03f067155aec8b124ejpeg.jpeg, productStatus=0, categoryType=22, createTime=2017-03-31 06:11:56.0, updateTime=2019-05-21 11:01:26.0)

新增加方法

Hibernate: select product0_.product_id as product_1_1_, product0_.category_type as category2_1_, product0_.create_time as create_t3_1_, product0_.product_description as product_4_1_, product0_.product_icon as product_5_1_, product0_.product_name as product_6_1_, product0_.product_price as product_7_1_, product0_.product_status as product_8_1_, product0_.product_stock as product_9_1_, product0_.update_time as update_10_1_ from product_info product0_ where product0_.product_status=?
2

ok

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章