1. 程式人生 > >如何從資料庫服務讀取資料

如何從資料庫服務讀取資料

1:背景

   在從資料庫服務data讀取(以下簡稱data)之前,首先需要確保自己的服務(假設服務名為fegin-demo)是正常能向Eureka註冊中心註冊的,註冊步驟如下:

  1. src/main/resource下的application.yml檔案內容全部刪除,然後新增下面程式碼 備註: 埠號具體請詢問快樂博或者我,服務名自己定
eureka:
  client:
    serviceUrl:
      defaultZone: 註冊中心地址
server:
  port: 埠號
spring:
  application:
    name: fegin-demo
  1. 找到主啟動類FeginDemoApplication.java(在src/main/java/com.hust.fegindemo
    下),在類上添加註解如下(如果有的話,就忽略這步):
@EnableDiscoveryClient
@SpringBootApplication
  1. 仍在該類下,右鍵 - run as - java application ,啟動類,如果出現下圖,則表明執行成功 在這裡插入圖片描述
  2. 然後瀏覽器訪問註冊中心地址 如下圖可以看到註冊成功了 其中,1為你自己的服務,2為資料庫服務 在這裡插入圖片描述5:點選上圖的 3,會出現類似下圖的內容,這就是在你的服務中呼叫資料庫服務需要的內容: method表示讀取的方式 path為訪問路徑 在這裡插入圖片描述

2:配置Fegin客戶端

   假設我們現在就想在config-demo服務中完成上圖 describe 內容,具體步驟如下:

  1. 在pom.xml中新增下面依賴(記得放到dependencies標籤中)
<!-- Fegin -->
<dependency>
   		<groupId>org.springframework.cloud</groupId>
   		<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
  1. 在主啟動類上新增這個註解@EnableFeignClients表明這是Fegin的客戶端

  2. WdsStRsvrRParmVO類(找我要)複製到 main/vo

    包下,將WdsStRsvrREntity複製到main/entity包下。複製後請記得檢查下包的匯入關係。 備註:如果在Entity類中,發現import javax.persistence.*出現錯誤,在pom.xml中新增下面依賴並重新整理就可以匯入了。

<dependency>
  		<groupId>javax.persistence</groupId>
   		<artifactId>persistence-api</artifactId>
   		<version>1.0</version>
</dependency>
  1. 接下來,在main下新建包config,然後新建介面DataClient,並按照下面的格式寫好介面 在這裡插入圖片描述
/這裡不用改
@FeignClient(name = "data") 
public interface DataClient {
	
	//雙引號裡對應上圖的path
	@PostMapping("/wdsstrsvrr/listByIdAndTime") 
	
	//WdsStRsvrRParmVO 對應上圖的 input
	public List<WdsStRsvrREntity> listByIdAndTime(@RequestBody WdsStRsvrRParmVO  wdsStRsvrRParmVO);
}

3 讀取資料

  接下來,假設我們需要在 TestWd類中使用WdsStRsvrREntity,具體步驟如下

  1. 先在Test新寫一個全域性變數如下
@Autowired
private DataClient dataClient;
  1. 在需要的WdsStRsvrREntity的方法中,直接寫
WdsStRsvrRParmVO ws =new WdsStRsvrRParmVO(id,startTime,endTime);
List<WdsStRsvrREntity> = dataClient.listByIdAndTime(ws);