SSH框架搭建步骤总结以及Hibernate二级缓存,查询缓存

二级缓存、查询缓存

一级缓存:

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

二级缓存:

需要加载配置信息,生命周期是和应用服务器同步,session共享


1:在hibernate.cfg.xml中开启二级缓存

    
    true
    
         org.hibernate.cache.ehcache.EhCacheRegionFactory
    
2:增加hibernate二级缓存的缓存配置文件ehcache.xml

3:在缓存对象实体中,增加@Cache注解,如果有关联表,则关联表也需要增加注解

    @Cache(usage=CacheConcurrencyStrategy.READ_ONLY)

查询缓存:

需要加载配置信息,并且依赖于二级缓存

1:在hibernate.cfg.xml中开启查询缓存(针对实体对象(表)进行数据缓存)
    
    true
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

     
        <dependency>
            <groupId>jstlgroupId>
            <artifactId>jstlartifactId>
            <version>1.2version>
        dependency>
    
    
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-webmvcartifactId>
            <version>5.0.8.RELEASEversion>
        dependency>
    
        
        <dependency>
            <groupId>org.apache.strutsgroupId>
            <artifactId>struts2-spring-pluginartifactId>
            <version>2.5.16version>
        dependency>
    
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-jdbcartifactId>
            <version>5.0.8.RELEASEversion>
        dependency>
    
        
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <version>5.1.24version>
        dependency>
    
        
        <dependency>
            <groupId>c3p0groupId>
            <artifactId>c3p0artifactId>
            <version>0.9.1.2version>
        dependency>
    
    
        
        <dependency>
            <groupId>javax.servletgroupId>
            <artifactId>servlet-apiartifactId>
            <version>3.0-alpha-1version>
            <scope>providedscope>
        dependency>
    
        
        <dependency>
            <groupId>org.apache.strutsgroupId>
            <artifactId>struts2-json-pluginartifactId>
            <version>2.5.16version>
        dependency>
    
    
        
        <dependency>
            <groupId>org.apache.strutsgroupId>
            <artifactId>struts2-convention-pluginartifactId>
            <version>2.5.16version>
        dependency>
    
        
        <dependency>
            <groupId>org.hibernategroupId>
            <artifactId>hibernate-coreartifactId>
            <version>5.3.3.Finalversion>
        dependency>
    
    
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-ormartifactId>
            <version>5.0.8.RELEASEversion>
        dependency>
    
        
        <dependency>
            <groupId>org.hibernategroupId>
            <artifactId>hibernate-ehcacheartifactId>
            <version>5.3.3.Finalversion>
        dependency>
    
    dependencies>

     

你可能感兴趣的:(SSH框架搭建步骤总结以及Hibernate二级缓存,查询缓存)