最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

實戰(zhàn)分布式醫(yī)療掛號系統(tǒng)之設置微服務搭建醫(yī)院模塊

 更新時間:2022年04月24日 15:41:13   作者:Hudie.  
這篇文章主要為大家介紹了實戰(zhàn)分布式醫(yī)療掛號系統(tǒng)之搭建醫(yī)院設置微服務模塊,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

文章導讀

本系列文章介紹從0開始搭建一個基于分布式的醫(yī)療掛號系統(tǒng)。本次四篇文章完成了醫(yī)院設置微服務模塊的后端接口,為了方便開發(fā),對接口的返回結(jié)果、全局異常、全局日志進行了統(tǒng)一處理。 同時,為了方便進行訪問測試,還整合了Swagger2工具,這些通用的模塊中,除了全局日志被放在醫(yī)院設置微服務模塊的配置資源中,其余都統(tǒng)一被抽取在common模塊中。具體實現(xiàn)可參考下面文章:

醫(yī)院設置微服務 | 接口開發(fā)

通用模塊 | 整合Swagger2

通用模塊 | 統(tǒng)一返回結(jié)果、統(tǒng)一異常處理、統(tǒng)一日志處理

項目已開源至  https://github.com/Guoqianliang/yygh_parent

一、項目模塊劃分圖

本系列文章開始介紹從0開始搭建一個《基于分布式的醫(yī)療掛號系統(tǒng)》,下圖是初步模塊劃分圖,可根據(jù)此圖在IDEA中創(chuàng)建出項目初步結(jié)構(gòu)。其中父工程是一個Spring工程,父模塊是Maven工程,注意兩者都需要使用pom方式進行打包。

初步模塊劃分圖

二、開發(fā)前的準備工作

1.醫(yī)院設置數(shù)據(jù)庫表設計

在《基于分布式的醫(yī)療預約掛號系統(tǒng)》中,醫(yī)院設置表yygh_hosp主要是用來保存每個醫(yī)院的一些基本信息,每個醫(yī)院的信息就是一條記錄。這條記錄中保存了醫(yī)院編號、接口調(diào)用相關(guān)的簽名等等。

只有開通了醫(yī)院設置,才可以進行醫(yī)院記錄的上傳。所以,在醫(yī)院設置模塊部分,我們所開發(fā)的功能就是基于單表的一個CRUD、發(fā)送簽名信息等基本功能。

# 創(chuàng)建數(shù)據(jù)庫: yygh_hosp
CREATE DATABASE IF NOT EXISTS `yygh_hosp` CHARACTER SET utf8mb4;
USE `yygh_hosp`;
# 創(chuàng)建表:hospital_set
CREATE TABLE `hospital_set` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '編號',
  `hosname` VARCHAR(100) DEFAULT NULL COMMENT '醫(yī)院名稱',
  `hoscode` VARCHAR(30) DEFAULT NULL COMMENT '醫(yī)院編號',
  `api_url` VARCHAR(100) DEFAULT NULL COMMENT 'api基礎(chǔ)路徑',
  `sign_key` VARCHAR(50) DEFAULT NULL COMMENT '簽名秘鑰',
  `contacts_name` VARCHAR(20) DEFAULT NULL COMMENT '聯(lián)系人',
  `contacts_phone` VARCHAR(11) DEFAULT NULL COMMENT '聯(lián)系人手機',
  `status` TINYINT(3) NOT NULL DEFAULT '0' COMMENT '狀態(tài)',
  `create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間',
  `update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間',
  `is_deleted` TINYINT(3) NOT NULL DEFAULT '0' COMMENT '邏輯刪除(1:已刪除,0:未刪除)',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_hoscode` (`hoscode`) COMMENT '唯一約束(醫(yī)院編號必須唯一)'
) ENGINE=INNODB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='醫(yī)院設置表';

創(chuàng)建好后的數(shù)據(jù)庫表如下:

醫(yī)院信息表

2.搭建醫(yī)院設置微服務模塊

在servie父模塊中創(chuàng)建service_hosp模塊,為service_hosp模塊添加如下配置信息:

# 服務端口
server.port=8201
# 服務名
spring.application.name=service-hosp
# 環(huán)境設置:dev、test、prod
spring.profiles.active=dev
# mysql數(shù)據(jù)庫連接
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://[ip地址]:3306/yygh_hosp?characterEncoding=utf-8&useSSL=false
spring.datasource.username=[數(shù)據(jù)庫名稱]
spring.datasource.password=[數(shù)據(jù)庫密碼]
#返回json的全局時間格式
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8

并為此微服務模塊創(chuàng)建啟動類:

package com.gql.yygh.hosp;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
 * @Description: 啟動類
 * @author Guoqianliang
 * @date 20:17 - 2021/4/3
 */
@SpringBootApplication
public class ServiceHospApplication {
    public static void main(String[] args) {
        SpringApplication.run(ServiceHospApplication.class, args);
    }
}

在測試前,將service模塊中下圖所示的三個依賴注釋掉,這些現(xiàn)在還用不到。若不注釋,啟動時項目會報錯。

需要被注釋的依賴

運行此微服務,發(fā)現(xiàn)項目成功啟動:

微服務啟動成功


至此,醫(yī)院設置數(shù)據(jù)庫表,以及醫(yī)院微服務模塊搭建成功,后續(xù)就可以在此基礎(chǔ)上進行接口的編寫了。

三、醫(yī)院設置微服務模塊開發(fā)

步驟1:生成表對應的實體類

此處在編寫實體類時使用了一個父子類來做映射,這樣做是為了將公用的字段給抽取出來。

在繼承中,子類繼承父類就擁有了父類的全部非私有屬性。

與yygh_hosp數(shù)據(jù)庫表對應的實體類

步驟2:創(chuàng)建Mapper

MyBatis-Plus在Mapper層為我們提供了一個BaseMapper<T>接口,繼承這個接口,即可獲得CRUD功能。

Mapper層

mapper一般對應一個xml配置文件,下面對xml的開發(fā)規(guī)范進行補充:

mapper接口的地址通過.xml中的namespace屬性引入。mapper接口中方法名和.xml中id一致。mapper接口中方法輸入?yún)?shù)類型和.xml中statement的parameterType指定的類型一致。mapper接口中方法返回值類型和.xml中statement的resultType指定的類型一致。

由于Mapperapper是一個接口,接口動態(tài)生成實現(xiàn)類的對象默認是找不到的,需要添加MapperScan才能找到動態(tài)生成的對象??梢詫apperScan寫在啟動類上,也可以如下所示編寫一個配置類進行統(tǒng)一管理。

package com.gql.yygh.hosp.config;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Configuration;
/**
 * @Description: 醫(yī)院配置
 * @author Guoqianliang
 * @date 9:42 - 2021/4/4
 */
@Configuration
@MapperScan("com.gql.yygh.hosp.mapper")
public class HospConfig {
}

步驟3:創(chuàng)建Service

MyBatis-Plus在Service層為我們提供了一個IService接口和一個ServiceImpl實現(xiàn)類,我們的Service接口繼承IService接口、我們的實現(xiàn)類繼承ServiceImpl實現(xiàn)類。就可以讓MyBatis-Plus在Service層幫我們?nèi)フ{(diào)用Mapper,直接使用封裝號的baseMapper就能完成調(diào)用。

Service層

步驟4:創(chuàng)建Controller

創(chuàng)建Controller,在其中裝配Service即可,后續(xù)在Controller中調(diào)用Service層的方法,進而調(diào)用數(shù)據(jù)庫即可實現(xiàn)功能。

/**
 * @Description: Controller
 * @author Guoqianliang
 * @date 0:16 - 2021/4/4
 */
@RestController
@RequestMapping("/admin/hosp/hospitalSet")
public class HospitalSetController {
    /**
     * 注入Service
     */
    @Autowired
    private HospitalSetService hospitalSetService;
}

四、測試開發(fā)環(huán)境

為了驗證環(huán)境的正確性,下面對微服務整體進行測試,我們在Controller中編寫一個查詢數(shù)據(jù)庫所有信息的方法。

/**
 * @Description: Controller
 * @author Guoqianliang
 * @date 0:16 - 2021/4/4
 */
@RestController
@RequestMapping("/admin/hosp/hospitalSet")
public class HospitalSetController {
    /**
     * 注入Service
     */
    @Autowired
    private HospitalSetService hospitalSetService;
}

手動在yygh_hosp數(shù)據(jù)庫hospital_set表中添加一條記錄:

添加一條記錄進行測試

將微服務跑起來,在瀏覽器訪問url:http://localhost:8201/admin/hosp/hospitalSet/findAll,

成功獲取到json格式的信息:

成功獲取json信息

至此,醫(yī)院設置微服務模塊就搭建成功了,接下來就可以在此環(huán)境上進行接口的開發(fā),更多關(guān)于分布式醫(yī)療掛號系統(tǒng)搭建資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • springboot實現(xiàn)圖片上傳與下載功能

    springboot實現(xiàn)圖片上傳與下載功能

    這篇文章主要為大家詳細介紹了后端spring項目經(jīng)常要做的功能,實現(xiàn)圖片上傳和下載,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-12-12
  • 簡單談一談Java中的Unsafe類

    簡單談一談Java中的Unsafe類

    其實Java官方不推薦使用Unsafe類,因為官方認為,這個類別人很難正確使用,非正確使用會給JVM帶來致命錯誤。但還是要會使用,下面這篇文章就來給大家簡單的談一談關(guān)于Java中Unsafe類的相關(guān)資料,需要的朋友可以參考下
    2018-05-05
  • java解析XML幾種方式小結(jié)

    java解析XML幾種方式小結(jié)

    本文給大家匯總了4種java解析XML的方法,結(jié)合具體的示例,非常的詳細,有需要的小伙伴可以參考下
    2016-01-01
  • 在Java中實現(xiàn)二叉搜索樹的全過程記錄

    在Java中實現(xiàn)二叉搜索樹的全過程記錄

    二叉樹包含了根節(jié)點,孩子節(jié)點,葉節(jié)點,每一個二叉樹只有一個根節(jié)點,每一個結(jié)點最多只有兩個節(jié)點,左子樹的鍵值小于根的鍵值,右子樹的鍵值大于根的鍵值,下面這篇文章主要給大家介紹了關(guān)于如何在Java中實現(xiàn)二叉搜索樹的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • Spring Cloud Alibaba整合Sentinel的實現(xiàn)步驟

    Spring Cloud Alibaba整合Sentinel的實現(xiàn)步驟

    這篇文章主要介紹了Spring Cloud Alibaba整合Sentinel的實現(xiàn)步驟,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • Java發(fā)送郵箱驗證碼、session校驗功能

    Java發(fā)送郵箱驗證碼、session校驗功能

    本篇主要描述“發(fā)送郵箱驗證碼、session校驗”相關(guān)前(html\js)后(java)臺代碼,業(yè)務邏輯示例,需要的朋友可以參考下
    2018-02-02
  • Spring內(nèi)置定時任務調(diào)度@Scheduled使用詳解

    Spring內(nèi)置定時任務調(diào)度@Scheduled使用詳解

    這篇文章主要介紹了Spring內(nèi)置定時任務調(diào)度@Scheduled使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-12-12
  • Mybatis的介紹、基本使用、高級使用

    Mybatis的介紹、基本使用、高級使用

    這篇文章主要介紹了Mybatis的介紹、基本使用、高級使用,Mybatis是一款半自動的ORM持久層框架,具有較高的SQL靈活性,如何使用看這篇就夠了,需要的朋友可以參考下
    2023-03-03
  • 深入淺析Java 抽象類和接口

    深入淺析Java 抽象類和接口

    這篇文章主要介紹了Java 抽象類和接口的相關(guān)知識,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • Java線程同步方法實例總結(jié)

    Java線程同步方法實例總結(jié)

    這篇文章主要介紹了Java線程同步方法,結(jié)合實例形式總結(jié)分析了Java線程同步、并發(fā)控制相關(guān)實現(xiàn)方法及操作注意事項,需要的朋友可以參考下
    2018-08-08

最新評論

高雄市| 阿图什市| 灌南县| 永兴县| 松阳县| 乌鲁木齐县| 盐池县| 虞城县| 陕西省| 巴彦县| 上虞市| 神农架林区| 峨眉山市| 富锦市| 湖北省| 开江县| 哈密市| 和硕县| 石家庄市| 顺昌县| 黄山市| 太原市| 北川| 鄂尔多斯市| 阿鲁科尔沁旗| 天水市| 滦南县| 石泉县| 古浪县| 庆云县| 神池县| 湘潭县| 青州市| 陕西省| 榆树市| 荣昌县| 梧州市| 金门县| 临澧县| 延川县| 许昌县|