溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么實現mysql讀寫分離

發布時間:2021-11-18 11:32:52 來源:億速云 閱讀:260 作者:iii 欄目:MySQL數據庫

這篇文章主要介紹“怎么實現mysql讀寫分離”,在日常操作中,相信很多人在怎么實現mysql讀寫分離問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么實現mysql讀寫分離”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

一目的

首先準備一個web網站,這里模擬一個網站的頁面,主要對開源網頁實現動態存取,之后將使用本頁面進一步實現對mysql的讀寫分離功能

二架構

前臺是開源網頁的頁面

后臺采用springboot+thymeleaf開發

1前端頁面整合

復制網站實例頁面,到如下路徑/template/case1page

  復制靜態頁面包括js文件到/static

2后臺整合

Pom中加入相應jar包依賴,且未方便開發可以加入熱部署相關依賴,例如

<build>

         <plugins>

              <plugin>

                   <groupId>org.springframework.boot</groupId>

                   <artifactId>spring-boot-maven-plugin</artifactId>

                   <dependencies>

                <!-- spring熱部署-->

                <dependency>

                    <groupId>org.springframework</groupId>

                    <artifactId>springloaded</artifactId>

                    <version>1.2.1.RELEASE</version>

                </dependency>

              </dependencies>

              </plugin>

         </plugins>

     </build>

 

整合mybatis

Application中編寫設置注入數據源和SqlSessionFactory的方法如下

@Bean

    @ConfigurationProperties(prefix="spring.datasource")

    public DataSource dataSource() {

        return new org.apache.tomcat.jdbc.pool.DataSource();

                 //com.alibaba.druid.pool.DruidDataSource();

    }

3 數據庫設計

主要采用兩個表SD_CATEGORY,SD_LABLE_SWITCH,存放對應頁面中標題和標題中相關的詳細數據。具體建表和數據可見附件腳本

三實際功能

頁面中實現了12demo的動態效果

已第11demo為例。說明實現方式

1靜態頁面中數據樣式如下

<li class="nLi">

                                               <h4><a href="http://www.SuperSlide2.com" target="_blank">新聞

                                               <ul class="sub">

                                                        <li><a href="#">新聞首頁</li>

                                                        <li><a href="#">新聞人物</li>

                                                        <li><a href="#">新聞電視</li>

                                                        <li><a href="#">新聞圖片</li>

                                                        <li><a href="#">新聞視頻</li>

                                                        <li><a href="# ">新聞專題</li>

                                               </ul>

                            </li>

                            <li class="nLi">

                                               <h4><a href="http://www.SuperSlide2.com" target="_blank">預告片

                                               <ul class="sub">

                                                        <li><a href="#">新聞首頁</li>

                                                        <li><a href="#">新聞人物</li>

                                                        <li><a href="#">新聞電視</li>

                                                        <li><a href="#">新聞圖片</li>

                                                        <li><a href="#">新聞視頻</li>

                                                        <li><a href="# ">新聞專題</li>

                                               </ul>

                            </li>

根據上面數據顯示方式確定現在后臺存放數據的結構是,用一個對象存放標題和條目數據(List),然后再用一個組列表存放這些對象,已此來對應頁面的結構

2頁面顯示方式如下

<li class="nLi" th:each="list:${grp11List}">

                            <h4><a href="http://www.SuperSlide2.com" target="_blank" th:text="${list.TP_NM}">新聞</a></h4>

                            <ul class="sub">

                                  <li th:each="lableList:${list.lable}">

                                    <a href="#">

                                     <p th:text="${lableList.LAB_NM}">新聞首頁</p>

                                    </a>

                                   </li>

                                 

                            </ul>

                 </li>

 

后臺存放方式

在處理對應demo實例的controller里組織數據的邏輯如下

//查找標題

      List<GrpTitle> grpTitle = userService.getGrpTitle(caseId);

      //查找每個標題時,找出所有對應lable數據并放入一個grplist

      for (GrpTitle title : grpTitle) {

            List<Lable> lable = userService.getLableInfo(title.getGRP_ID());

            FullContent cont = new FullContent();

            cont.setTP_NM(title.getTP_NM());

            cont.setLable(lable);

            //把所有grplist放到一個list

            grpList.add(cont);

           }

      //加入case1 返回需要的結果

      model.addAttribute("grp11List", grpList);

到此,關于“怎么實現mysql讀寫分離”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女