zoukankan      html  css  js  c++  java
  • SSH框架搭建步骤总结以及Hibernate二级缓存,查询缓存

    二级缓存、查询缓存

    一级缓存:

    默认启动,生命周期是和session同步的,session独享
    

    二级缓存:

    需要加载配置信息,生命周期是和应用服务器同步,session共享
    
    
    1:在hibernate.cfg.xml中开启二级缓存
    
        <!-- 开启二级缓存 -->
        <property name="hibernate.cache.use_sencond_level_cache">true</property>
        <property name="hibernate.cache.region.factory_class">
             org.hibernate.cache.ehcache.EhCacheRegionFactory
        </property>
    2:增加hibernate二级缓存的缓存配置文件ehcache.xml
    
    3:在缓存对象实体中,增加@Cache注解,如果有关联表,则关联表也需要增加注解
    
        @Cache(usage=CacheConcurrencyStrategy.READ_ONLY)
    

    查询缓存:

    需要加载配置信息,并且依赖于二级缓存
    
    1:在hibernate.cfg.xml中开启查询缓存(针对实体对象(表)进行数据缓存)
        <!-- 开启查询缓存 -->
        <property name="hibernate.cache.use_query_cache">true</property>
    2:在dao层调用数据库时,增加如下代码:(针对结果集进行缓存)
        hibernateTemplate.setCacheQueries(true);
    

    SSH框架搭建步骤总结

    • SSH = Struts2 + Hibernate5 + Spring5

    • 框架搭建步骤:

      • 搭建Struts2框架
        • 导包
        • 配置启动容器web.xml---StrutsPrepareandExecuteFilter
        • 加载struts.xml配置文件
          • 模板从struts2-core核心包中struts-default.xml
          • package-->action-->result-->param
      • 搭建Spring框架

        • 导包
        • 配置启动容器web.xml--->applicationContext.xml
        • 加载applicationContext.xml配置文件
          • 扫描包
          • 加载jdbc属性文件
          • 配置数据源、连接池、事务处理、注解驱动、导入第三方的xml文件
      • 整合Struts2和Spring框架

        • 导入中间包
        • 在struts.xml中修改action中的class属性为容器的id
        • 在对应的action类中,增加spring 的注解
      • 搭建Hibernate框架

        • 导包
        • 加载hibernate配置文件hibernate.cfg.xml
          • 数据库方言
          • 数据库的连接信息
          • 其它的格式化内容
          • 加载实体和表的映射文件
      • 整合hibernate和spring框架

        • 导包
        • 在spring的配置文件applicationContext中增加hibernate的配置
        • hibernateTemplate、sessionFactory、事务
      • SSH框架持久化修改为Hibernate即可

    • pom.xml:

      org.apache.struts struts2-core 2.5.16

       <!-- 导入jstl标签库 -->
          <dependency>
              <groupId>jstl</groupId>
              <artifactId>jstl</artifactId>
              <version>1.2</version>
          </dependency>
      
      
          <!-- 增加spring的jar包整合 -->
          <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-webmvc</artifactId>
              <version>5.0.8.RELEASE</version>
          </dependency>
      
          <!-- struts2和spring整合插件包 -->
          <dependency>
              <groupId>org.apache.struts</groupId>
              <artifactId>struts2-spring-plugin</artifactId>
              <version>2.5.16</version>
          </dependency>
      
          <!-- 导入jdbc数据连接包 -->
          <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-jdbc</artifactId>
              <version>5.0.8.RELEASE</version>
          </dependency>
      
          <!-- 导入数据库驱动包 -->
          <dependency>
              <groupId>mysql</groupId>
              <artifactId>mysql-connector-java</artifactId>
              <version>5.1.24</version>
          </dependency>
      
          <!-- 导入c3p0连接池 -->
          <dependency>
              <groupId>c3p0</groupId>
              <artifactId>c3p0</artifactId>
              <version>0.9.1.2</version>
          </dependency>
      
      
          <!-- session使用获取包 -->
          <dependency>
              <groupId>javax.servlet</groupId>
              <artifactId>servlet-api</artifactId>
              <version>3.0-alpha-1</version>
              <scope>provided</scope>
          </dependency>
      
          <!-- struts2整合json包 -->
          <dependency>
              <groupId>org.apache.struts</groupId>
              <artifactId>struts2-json-plugin</artifactId>
              <version>2.5.16</version>
          </dependency>
      
      
          <!-- Struts2注解包 -->
          <dependency>
              <groupId>org.apache.struts</groupId>
              <artifactId>struts2-convention-plugin</artifactId>
              <version>2.5.16</version>
          </dependency>
      
          <!-- 导入hibernate核心包 -->
          <dependency>
              <groupId>org.hibernate</groupId>
              <artifactId>hibernate-core</artifactId>
              <version>5.3.3.Final</version>
          </dependency>
      
      
          <!-- hibernate整合spring导入orm包 -->
          <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-orm</artifactId>
              <version>5.0.8.RELEASE</version>
          </dependency>
      
          <!-- hibernate缓存包 -->
          <dependency>
              <groupId>org.hibernate</groupId>
              <artifactId>hibernate-ehcache</artifactId>
              <version>5.3.3.Final</version>
          </dependency>
      
      </dependencies>
  • 相关阅读:
    LinqToXML~读XML文件
    C#~使用FileSystemWatcher来监视文件系统的变化
    HDU4144:Bacon's Cipher
    国产手机的路还很长
    同一个存储过程中,不能多次select into 到同一张表的问题
    IT行业为什么没有进度
    IOT(Index Organized Table)
    模版——容器,迭代器
    shell split分析日志文件
    VMware vSphere 服务器虚拟化之十七 桌面虚拟化之安装View链接服务器
  • 原文地址:https://www.cnblogs.com/hx1098/p/9521022.html
Copyright © 2011-2022 走看看