• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      多商戶系統(tǒng)多個(gè)數(shù)據(jù)庫的訪問設(shè)計(jì)和實(shí)現(xiàn)

      2020-06-23 00:14:36汪衛(wèi)兵廣東郵電職業(yè)技術(shù)學(xué)院人工智能技術(shù)服務(wù)專業(yè)負(fù)責(zé)人
      數(shù)碼世界 2020年5期
      關(guān)鍵詞:數(shù)據(jù)表數(shù)據(jù)源商戶

      汪衛(wèi)兵 廣東郵電職業(yè)技術(shù)學(xué)院 人工智能技術(shù)服務(wù)專業(yè)負(fù)責(zé)人

      1 研究內(nèi)容及意義

      本文研究的是B2B2C 系統(tǒng),B2B2C 是一種電子商務(wù)類型的網(wǎng)絡(luò)購物商業(yè)模式,為傳統(tǒng)企業(yè)和大中型網(wǎng)商打造以提高商家運(yùn)營能力為核心,提供的電子商務(wù)平臺(tái)。針對多商戶系統(tǒng)中用戶訪問多個(gè)系統(tǒng)數(shù)據(jù)庫的接口并發(fā)問題,提供了一種多商戶系統(tǒng)中多個(gè)商戶如何對應(yīng)自己的數(shù)據(jù)庫的解決方案,該方案可以作為一種實(shí)際可行的解決方案,應(yīng)用到實(shí)際的多商戶系統(tǒng),并具有推廣價(jià)值。

      2 系統(tǒng)的數(shù)據(jù)庫訪問核心技術(shù)

      2.1 MySQL 技術(shù)

      MySQL 是一種關(guān)系型數(shù)據(jù)庫,它是一種C/S 模型(即客戶端和服務(wù)端模型),客戶端通過賬號、密碼來連接服務(wù)器,連接成功之后才可以進(jìn)行數(shù)據(jù)庫的操作(CRUD:增加、刪除、變更、查詢)。本系統(tǒng)采用MySQL 關(guān)系數(shù)據(jù)庫。

      2.2 Java web 技術(shù)

      Spring-boot 是一種基于Java 的MVC 框架,Spring-boot 提供了一種快速構(gòu)建應(yīng)用程序的方法。作為本web系統(tǒng)的核心技術(shù)框架,完成用戶與服務(wù)器之間B/S 的交互,實(shí)現(xiàn)對數(shù)據(jù)庫的訪問。

      2.3 MyBatis 技術(shù)

      MyBatis 是一款優(yōu)秀的持久層框架,它支持定制化 SQL、存儲(chǔ)過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動(dòng)設(shè)置參數(shù)以及獲取結(jié)果集。MyBatis 可以使用簡單的 XML 或注解來配置和映射原生信息,將接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java 對象)映射成數(shù)據(jù)庫中的記錄。

      3 多商戶商城系統(tǒng)數(shù)據(jù)庫的設(shè)計(jì)與實(shí)現(xiàn)

      3.1 多商戶系統(tǒng)的總體設(shè)計(jì)

      本文基于比較成熟的Java web 框架Spring-boot 和MyBatis進(jìn)行系統(tǒng)設(shè)計(jì),數(shù)據(jù)庫采用 MySQL 關(guān)系數(shù)據(jù)庫,采用MVC 軟件設(shè)計(jì)模式的系統(tǒng)架構(gòu),Spring-boot 負(fù)責(zé)控制層Controller 的控制和轉(zhuǎn)發(fā),MyBatis 負(fù)責(zé)Model 層的模型映射,完成數(shù)據(jù)庫表和Java 類之間的映射關(guān)系,View 層采用微信小程序的頁面設(shè)計(jì)方案。

      3.2 多商城數(shù)據(jù)庫的設(shè)計(jì)

      為方便每個(gè)商戶的信息查詢,統(tǒng)計(jì)每個(gè)商戶的信息,本系統(tǒng)中多商戶的系統(tǒng)設(shè)計(jì)是采用分庫的做法,也就是每個(gè)商戶對應(yīng)一個(gè)完整的數(shù)據(jù)庫,每個(gè)數(shù)據(jù)庫的表結(jié)構(gòu)完全一樣,這樣在連接數(shù)據(jù)庫查詢的時(shí)候不需要從大量的商戶中進(jìn)行刷選,提高查詢效率。

      數(shù)據(jù)庫的設(shè)計(jì)語句如下:

      drop database if exists mall;

      drop user if exists 'mall'@'%';

      create database mall default character set utf8mb4 collate utf8mb4_unicode_ci;

      use mall;

      create user 'mall'@'%' identified by 'mall123456';

      grant all privileges on mall.* to 'mall'@'%';

      flush privileges;

      數(shù)據(jù)表都是采用單表設(shè)計(jì),數(shù)據(jù)表之間沒有一對一,一對多的映射關(guān)系,這樣做數(shù)據(jù)之間可能存在一定的冗余,但是查詢效率是最高的,例如,用戶表和用戶反饋表之間都包含用戶名稱、手機(jī)號碼等個(gè)人信息的冗余,沒有采用信息關(guān)聯(lián)的設(shè)計(jì)方法。

      3.3 多個(gè)數(shù)據(jù)庫的訪問

      由于每個(gè)數(shù)據(jù)庫都是同樣的表結(jié)構(gòu),spring-boot 的接口都是采用統(tǒng)一的設(shè)計(jì),當(dāng)客戶端的商家提供的服務(wù)被自己的客戶點(diǎn)擊,發(fā)送請求到服務(wù)器進(jìn)行處理的時(shí)候,并不能區(qū)分每個(gè)接口的請求是來自哪個(gè)商戶的客戶,這一問題成為本文研究的核心問題。

      在spring 的數(shù)據(jù)源的連接中,連接的信息如下,每一個(gè)商戶對應(yīng)一個(gè)數(shù)據(jù)庫:

      3.4 互斥鎖技術(shù)和Java 多線程互斥鎖的實(shí)現(xiàn)

      基本原理是,我們在配置文件定義多個(gè)數(shù)據(jù)源,利用注解進(jìn)行配置數(shù)據(jù)源,然后用攔截器你判斷連接的是哪個(gè)數(shù)據(jù)源。

      (1) 從線程共享變量中獲取key,返回正確的數(shù)據(jù)源

      (2) 定義工具類,用于動(dòng)態(tài)切換數(shù)據(jù)源

      (3) 利用注解配置數(shù)據(jù)源的連接

      (4) 定義攔截器進(jìn)行判斷連接的是哪個(gè)數(shù)據(jù)源

      4 總結(jié)與展望

      系統(tǒng)實(shí)現(xiàn)互斥鎖的方案比較完整,也非常易于實(shí)現(xiàn),在訪問上保證了數(shù)據(jù)的訪問準(zhǔn)確和安全,具有一定推廣價(jià)值。

      猜你喜歡
      數(shù)據(jù)表數(shù)據(jù)源商戶
      湖北省新冠肺炎疫情數(shù)據(jù)表
      黨員生活(2020年2期)2020-04-17 09:56:30
      江蘇贛榆農(nóng)商行 上線商戶回訪管理系統(tǒng)
      金融周刊(2018年13期)2018-12-26 09:09:38
      基于列控工程數(shù)據(jù)表建立線路拓?fù)潢P(guān)系的研究
      “543”工作法構(gòu)建黨建共同體
      Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
      基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評價(jià)研究
      基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評價(jià)算法
      圖表
      商戶小額貸款信用評價(jià)模型
      基于VSL的動(dòng)態(tài)數(shù)據(jù)表應(yīng)用研究
      河南科技(2014年24期)2014-02-27 14:19:25
      六盘水市| 宣恩县| 电白县| 姜堰市| 高要市| 新源县| 襄汾县| 新郑市| 巧家县| 武胜县| 江源县| 木里| 陕西省| 阿合奇县| 嘉义县| 凯里市| 永修县| 华蓥市| 越西县| 太和县| 定安县| 西丰县| 辉县市| 新平| 迁西县| 临沭县| 河间市| 兴仁县| 巴彦淖尔市| 安图县| 略阳县| 寿阳县| 绥中县| 翼城县| 黄浦区| 嫩江县| 开鲁县| 融水| 济南市| 竹溪县| 盖州市|