前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring的数据访问:Spring Data和JPA | 云原生应用开发系列2

Spring的数据访问:Spring Data和JPA | 云原生应用开发系列2

作者头像
魏新宇
发布2018-12-24 16:49:59
7070
发布2018-12-24 16:49:59
举报

声明

  • 本文的内容仅限于技术探讨,不能作为指导生产环境的素材;
  • 鼓励读者购买红帽培训获得更多系统性的培训。
  • 由于篇幅有限,文章中的步骤仅展现了关键的部分。

在本实验中,将进行Spring Data与JPA一起使用来检索数据并将其保存到数据存储区。

启动JBoss Developer Studio。

选择文件→导入。

在“导入”对话框中,选择“Maven”→“现有Maven项目”,然后单击“下一步”。

单击“浏览”并导航到〜/ appmod_foundations_training / spring / lab2。

导入后,请验证您是否看到product-catalog-lab2项目:

用于测试的Bootstrap JPA和H2数据库

打开Maven pom.xml文件。

打开src / main / resources / application.properties文件。

将以下条目添加到此文件,这是应用连接数数据路的参数配置:

创建单元测试

在本节中,您将为ProductCatalogService创建单元测试。

在JBoss Developer Studio中,导航到项目目录并选择src / test / java。

展开com.redhat.coolstore.productcatalog包。

创建名为ProductCatalogJPATests的JPA Test类。

添加以下代码:

虽然此测试本身不测试任何内容,但@DataJpaTest会引导JPA环境,因此如果测试成功运行,您就会知道JPA环境已正确配置并正常工作。

测试JPA bootstraps是否成功:

添加产品实体和示例数据

在本节中,您将创建一个产品实体并添加样本数据。

在JBoss Developer Studio中,导航到项目目录并选择src / main / java。

展开com.redhat.coolstore.productcatalog包。

添加一个名为Product的新类。

添加以下代码:

源码入如下:

package com.redhat.coolstore.productcatalog;

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.GenerationType;

import javax.persistence.Id;

@Entity

public class Product {

@Id

@GeneratedValue(strategy=GenerationType.AUTO)

private Long itemId;

private String name;

@Column(length=2000)

private String description;

private double price;

public Product() {}

public Long getItemId() {

return itemId;

}

public void setItemId(Long itemId) {

this.itemId = itemId;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getDescription() {

return description;

}

public void setDescription(String description) {

this.description = description;

}

public double getPrice() {

return price;

}

public void setPrice(double price) {

this.price = price;

}

}

添加一个新文件src / main / resources / import.sql,其中包含以下内容:

验证是够成功:

检查控制台输出并验证您是否看到与这些类似的行,表明数据已加载:

创建数据库存储库接口并实现testFindAll

在JBoss Developer Studio中,导航到项目目录并选择src / main / java。

展开com.redhat.coolstore.productcatalog包。

添加一个名为ProductRepository的新接口。

添加以下代码:

在JBoss Developer Studio中,导航到项目目录并选择src / test / java。

打开ProductCatalogJPATests并将ProductRepository注入类变量:

进行验证:

将自定义方法添加到产品存储库

在本节中,您将向ContentRepository添加自定义findByName方法,该方法按名称返回产品。

打开ProductRepository类并添加以下接口方法:

打开ProductCatalogJPATests.java并添加以下测试:

进行验证:

添加测试用例

在本节中,您将添加一个用于创建和删除条目的测试用例。

打开ProductCatalogJPATests.java并添加以下测试:

进行验证:

将REST服务更改为使用产品存储库

在本节中,您将更改REST服务以使用ProductRepository并返回产品列表。

打开ProductCatalogService并将ProductRepository注入类变量:

添加新的list方法以返回productRepository.findAll()的结果:

访问应用:

魏新宇

  • "大魏分享"运营者、红帽资深解决方案架构师
  • 专注开源云计算、容器及自动化运维在金融行业的推广
  • 拥有MBA、ITIL V3、Cobit5、C-STAR、TOGAF9.1(鉴定级)等管理认证。
  • 拥有红帽RHCE/RHCA、VMware VCP-DCV、VCP-DT、VCP-Network、VCP-Cloud、AIX、HPUX等技术认证
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大魏分享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档