二级缓存、查询缓存

一级缓存:

默认启动,生命周期是和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. 用 vs 2017创建 windows 服务

    转载自:http://www.cnblogs.com/xujie/p/5695673.html 1.新建windows服务项目,我这里选择的是Framework4.0,没有选择高版本是为了防止在服务在 ...

  2. 918. Maximum Sum Circular Subarray

    Given a circular array C of integers represented by A, find the maximum possible sum of a non-empty ...

  3. C - 前m大的数 (结构体)

    点击打开链接 还记得Gardon给小希布置的那个作业么?(上次比赛的1005)其实小希已经找回了原来的那张数表,现在她想确认一下她的答案是否正确,但是整个的答案是很庞大的表,小希只想让你把答案中最大的 ...

  4. zoj2893 Evolution(矩阵快速幂)

    题意:就是说物种进化,有N种物种,编号是0——N-1,M次进化后,问你编号为N-1的物种有多少数量:其中要注意的就是i物种进化到j物种的概率是p:(那么剩下的不要忘了):所以单位矩阵初始化对角线的值为 ...

  5. NPM install 中:-save 、 -save-dev 和 没有--save的情况

    原文地址:https://www.cnblogs.com/limitcode/p/7906447.html npm install moduleName 命令 . 安装模块到项目node_module ...

  6. iOS-电池图标【结合贝塞尔曲线控制电量显示】

    基于UIView类:WKJBatteryView WKJBatteryView.h #import <UIKit/UIKit.h> @interface WKJBatteryView : ...

  7. 下载一个vue项目执行npm install 后运行项目npm run dev后出错 - 问题解决

    在SVN上拉下来一个vue项目,上面没有提交项目里面的node_modules文件夹,所以要自己执行 npm install 安装,但安装完后运行项目后却报错了: $ npm run dev > ...

  8. Java的GC

    垃圾收集 在探究Jvm的过程中,有两个点特别需要关注,一是:内存的使用,分配策略,而这一点是在前一篇博客已经介绍过了. 二是:内存的回收.也就是这一篇博客所要探究的关键点. 内存回收需要关注的几个点: ...

  9. Collection、Set、List概念上的区别及关联

    类图如下:

  10. redmine3.3.3 rake db:migrate 报错invalid byte sequence in US-ASCII (Argument Error) 解决方法

    这个错误有点莫名其妙,系统默认的就是utf-8,可bundle就是不对.. rake db:migrate 结果没有任何错误,反而是网页passenger 提示了这个错误 参考:https://git ...