加入收藏 | 设为首页 | 会员中心 | 我要投稿 徐州站长网 (https://www.0516zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

怎么达成mysql读写分离

发布时间:2021-12-18 12:05:26 所属栏目:MySql教程 来源:互联网
导读:这篇文章主要介绍怎么实现mysql读写分离,在日常操作中,相信很多人在怎么实现mysql读写分离问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答怎么实现mysql读写分离的疑惑有所帮助!接下来,请跟着小编一起来学习吧! 一目
怎么达成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,存放对应页面中标题和标题中相关的详细数据。具体建表和数据可见附件脚本
 
三实际功能
页面中实现了12个demo的动态效果
 
已第11个demo为例。说明实现方式
 
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读写分离”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

(编辑:徐州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读