二级缓存、查询缓存

一级缓存:

默认启动,生命周期是和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. R语言和RStudio的一些用法,常用命令等

    控制台: Up/down 回忆之前的命令 Ctrl+Up 回顾命令列表(可先输入前缀进行查找) 焦点: ctrl+ 移动焦点到source编辑器 ctrl+ 移动焦点到console ctrl+L 清 ...

  2. Sorted方法排序用法

    listA = [3,4,5,3,2,1,] print(sorted(listA)) # [1, 2, 3, 3, 4, 5] listB =["a","z" ...

  3. FreePascal - CodeTyphon交叉编译,在一个操作系统生成各个操作系统可以运行的程序!

    致谢:[XE3]MN,让我加快完成了使用CodeTyphon进行交叉编译! CodeTyphon版本: 6.0 下载:http://www.pilotlogic.com/codetyphon/zips ...

  4. 2017 NAIPC A:Pieces of Parentheses

    my team solve the problem in the contest with similar ideathis is a more deep analysis The main idea ...

  5. 3.jquery在js文件中获取选择器对象

    一.常用的选择器有一下几种: 1.标签选择器 2.类选择器 3.id选择器 4.并集选择器 5.层级选择器 二.如何获取选择器对象: <!DOCTYPE html> <html la ...

  6. jzoj5931

    根據打表可得,對於n的情況 任意一個首位!=1的排列時,則其答案-1可以與首位為1的情況對應 當n=4時 排列 答案 1 2 3 4 ------ 0 1 2 4 3 ------ 1 1 3 2 4 ...

  7. kali Linux 上编译并使用RFID核弹——proxmark3

    你还在在Windows下使用proxmark3?弱爆了! 本文作者:i春秋签约作家——冰尘 作为一个标准的日天日地日空气的(单身贵族泰迪)物理黑客Proxmark3这么高大上的东西应该是在键盘敲打声中 ...

  8. 基于SWOOLE的分布式SOCKET消息服务器架构

    消息服务器使用socket,为避免服务器过载,单台只允许500个socket连接,当一台不够的时候,扩充消息服务器是必然,问题来了,如何让链接在不同消息服务器上的用户可以实现消息发送呢? 要实现消息互 ...

  9. 记录php漏洞--宇宙最强语言 PHP 爆出 DoS 漏洞,可以直接灌满 CPU

    站长之家(Chinaz.com)5月20日消息  近日,PHP被爆出存在远程DOS漏洞,若黑客利用该漏洞构造PoC发起连接,容易导致目标主机CPU被迅速消耗.此漏洞涉及众多PHP版本,因而影响范围极大 ...

  10. ReentrantReadWriteLock源码分析(一)

    此处源码分析,主要是基于读锁,非公平机制,JDK1.8. 问题: 1.ReentrantReadWriteLock是如何创建读锁与写锁? 2.读锁与写锁的区别是什么? 3.锁的重入次数与获取锁的线程数 ...