二级缓存、查询缓存

一级缓存:

默认启动,生命周期是和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>

SSH框架搭建步骤总结以及Hibernate二级缓存,查询缓存的更多相关文章

  1. SSH框架搭建步骤

    1.创建一个工程2.工程的编码改成utf-83.把jsp的编码也改成utf-84.导入jar包5.建立三个src folder    src            存放源代码    config    ...

  2. 转 SSH框架搭建详细图文教程

    原址:http://blog.sina.com.cn/s/blog_a6a6b3cd01017c57.html 什么是SSH? SSH对应 struts spring hibernatestruts ...

  3. SSH框架搭建详细图文教程(转)

    这篇文章看的我醍醐灌顶的感觉,比之前本科时候学习的SSH架构 要清晰数倍  非常感觉这篇博主的文章 文章链接为:http://blog.sina.com.cn/s/blog_a6a6b3cd01017 ...

  4. ssh框架搭建的基本步骤(以及各部分作用)

    ssh框架搭建的基本步骤(以及各部分作用)     一.首先,明确spring,struts,hibernate在环境中各自的作用.   struts: 用来响应用户的action,对应到相应的类进行 ...

  5. SSH框架搭建详细步骤整理

    学习Java面前有两座山,一座山叫SSM,一座山叫SSH,跨越了这两座山之后才能感受到这个语言的魅力所在,SSM框架的搭建详细在之前博客已经涉及了,今天来整理SSH框架详细步骤: 生有涯 而 学无涯 ...

  6. SSH环境搭建步骤解析

    一.建立Java web project:AngelSSH 二.引入jar包,必要清单如下 2.1,Struts2 commons-fileupload  文件上传组件 commons-io   io ...

  7. SSH框架搭建 详细图文教程

    转载请标明原文地址 一.什么是SSH? SSH是JavaEE中三种框架(Struts+Spring+Hibernate)的集成框架,是目前比较流行的一种Java Web开源框架. SSH主要用于Jav ...

  8. SSH框架搭建详细图文教程

    转载请标明原文地址:http://www.cnblogs.com/zhangyukof/p/6762554.html 一.什么是SSH? SSH是JavaEE中三种框架(Struts+Spring+H ...

  9. SSM、SSH框架搭建,面试点总结

    文章目录 1.SSM如何搭建:三个框架的搭建: 2.SSM系统架构 3.SSM整合步骤 4.Spring,Spring MVC,MyBatis,Hibernate个人总结 5.面试资源 关于SSM.S ...

随机推荐

  1. DataSet转换成List<>

    方法一: //DataSet转换成List<ArticleInfo> public List<ArticleInfo> GetArticleList(DataSet ds) { ...

  2. delete job definition

    $badjobTake2 = Get-SPTimerJob -ID "job-service-instance-f2de35ab-bca3-4e53-b51a-98d3b06a6930&qu ...

  3. S11 day 97 -98天 Luffycity项目

    1. 建模 from django.db import models from django.contrib.contenttypes.fields import GenericForeignKey, ...

  4. 如何在Qt资源文件中包含和释放exe等各种类型文件?

    操作系统:Windows 10 X64 企业版 Qt: 5.8.0 QtCreater: 4.2.1 刚刚开始学习Qt,不断遇到困难和挑战,前几天在各个QQ群里询问如何在Qt的资源文件中包含和释放ex ...

  5. 诸神眷顾的幻想乡(zjoi2015,bzoj3926)(广义后缀自动机)

    幽香是全幻想乡里最受人欢迎的萌妹子,这天,是幽香的2600岁生日,无数幽香的粉丝到了幽香家门前的太阳花田上来为幽香庆祝生日. 粉丝们非常热情,自发组织表演了一系列节目给幽香看.幽香当然也非常高兴啦. ...

  6. Nginx + uWSGI 部署Django 项目,并实现负载均衡

    一.uWSGI服务器 uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换. 要注意 WSGI ...

  7. Two Pointers-349. Intersection of Two Arrays

    Given two arrays, write a function to compute their intersection. Example:Given nums1 = [1, 2, 2, 1] ...

  8. Flask从入门到精通之数据模型之间的关系

    关系型数据库使用关系把不同表中的行联系起来.上篇随笔中介绍的用户和角色之间是一种简单的关系.即角色到用户的一对多关系,因为一个角色可属于多个用户,而每个用户都只能有一个角色.这种关系在模型中的表示方法 ...

  9. Flask从入门到精通之静态文件

    Web 程序不是仅由Python 代码和模板组成.大多数程序还会使用静态文件,例如HTML代码中引用的图片.JavaScript 源码文件和CSS. 在前面的章节中,我们曾检查hello.py 程序的 ...

  10. Android之自定义控件

    开发自定义控件的步骤: 1.了解View的工作原理  2. 编写继承自View的子类 3. 为自定义View类增加属性  4. 绘制控件  5. 响应用户消息  6 .自定义回调函数    一.Vie ...