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,存放對應頁面中標題和標題中相關的詳細資料。具體建表和資料可見附件指令碼
三實際功能
頁面中實現了12個demo的動態效果
已第11個demo為例。說明實現方式
1靜態頁面中資料樣式如下
<li class="nLi">
<h3><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">
<h3><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}">
<h3><a href="http://www.SuperSlide2.com" target="_blank" th:text="${list.TP_NM}">新聞</a></h3>
<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);
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/750077/viewspace-2141670/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ProxySQL實現MySQL讀寫分離MySql
- Amoeba 實現 MySQL 讀寫分離MySql
- Amoeba+Mysql 實現讀寫分離MySql
- mysql-proxy實現讀寫分離MySql
- mysql讀寫分離的最佳實踐MySql
- MySQL Amoeba讀寫分離MySql
- Amoeba for mysql讀寫分離MySql
- MySQL讀寫分離AtlasMySql
- 【Mysql】mysql-proxy讀寫分離MySql
- docker+atlas+mysql實現讀寫分離DockerMySql
- MySQL + Atlas --- 部署讀寫分離MySql
- Amoeba for MySQL讀寫分離配置MySql
- mysql讀寫分離(PHP類)MySqlPHP
- 搭建MySQL主從實現Django讀寫分離MySqlDjango
- ProxySQL實現Mysql讀寫分離 - 部署手冊MySql
- MySQL 中介軟體Atlas 實現讀寫分離MySql
- MySQL 讀寫分離的好處MySql
- mysql優化之讀寫分離MySql優化
- 探究MySQL MGR的讀寫分離MySql
- mysql讀寫分離Amoeba的部署MySql
- MySQL 高可用架構:主從備份及讀寫分離MySql架構
- Amoeba實現讀寫分離
- Mycat實現mysql的負載均衡讀寫分離MySql負載
- Spring配置RoutingDataSource實現mysql讀寫分離SpringMySql
- mysql proxy 安裝及配置實現讀寫分離MySql
- Kubernetes 中實現 MySQL 的讀寫分離MySql
- MySQL運維15-一主一從讀寫分離MySql運維
- MySQL Proxy 實現 MySQL 讀寫分離提高併發負載MySql負載
- MySQL cetus 中介軟體 讀寫分離MySql
- MYSQL 主從 + ATLAS 讀寫分離 搭建MySql
- 配置\清除 MySQL 主從 讀寫分離MySql
- Mysql之讀寫分離架構-AtlasMySql架構
- Mysql 高可用(MHA)-讀寫分離(Atlas)MySql
- MySQL主從複製讀寫分離MySql
- MySQL 讀寫分離介紹及搭建MySql
- MySQL 官宣:支援讀寫分離了!!MySql
- 使用ProxySQL實現MySQL Group Replication的故障轉移、讀寫分離(一)MySql
- kubebuilder實戰之一:準備工作kubebuilder實戰之一:準備工作UI