二级缓存、查询缓存

一级缓存:

默认启动,生命周期是和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. 逆变(contravariant)与协变(covariant)

    逆变(contravariant)与协变(covariant)是C#4新增的概念,许多书籍和博客都有讲解,我觉得都没有把它们讲清楚,搞明白了它们,可以更准确地去定义泛型委托和接口,这里我尝试画图详细解 ...

  2. python os.path 的使用

    import os #该文件所在位置:D:\第1层\第2层\第3层\第4层\第5层\test11.py path1 = os.path.dirname(__file__) print(path1)#获 ...

  3. 八,mysql优化——读写分离

    读写分离目的是给大型网站缓解查询压力.

  4. 使用python进行短信轰炸

    本文作者:i春秋作家——Hacker1ee 大家好,我是1ee(因为在作家群,就不加Hacker这个前缀了,怕被大佬打..) 刚加入i春秋作家组希望大家多多关照,也欢迎大家找我交流 今天我来讲讲我最近 ...

  5. this引用逃逸(使用内部类获取未外部类未初始化完的变量),多态父类使用子类未初始化完的变量

    1,this引用逃逸 并发编程实践中,this引用逃逸("this"escape)是指对象还没有构造完成,它的this引用就被发布出去了. 这是危及到线程安全的,因为其他线程有可能 ...

  6. 一个MySQL 5.7 分区表性能下降的案例分析

    告知MySQL5.7.18的使用者分区表使用中存在的陷阱,避免在该版本上继续踩坑.同时通过对源码的讲解,升级MySQL5.7.18时分区表性能下降的根本原因,向MySQL源码爱好者展示分区表实现中锁的 ...

  7. SnapKit 约束创建过程

     创建ConstraintViewDSL 调用UIView 的 snp 方法,生成一个ConstraintViewDSL. 注意这个生成的ConstraintViewDSL持有UIView. 创建C ...

  8. day 56 linux的安装python3 ,虚拟环境,mysql ,redis

    1.1下载python源码包 网址:https://www.python.org/downloads/release/python-366/ 下载地址:https://www.python.org/f ...

  9. jquery ajax在跨域访问post请求的时候,包括ie9以下的浏览器无效,其他浏览器正常

    最近做的一个项目,原先没有要求兼容IE9以下,所以在写代码的时候也没有打开IE9以下去测试,这两天要去做IE9以下的兼容,在IE9以下打开本地的项目发现数据请求不成功,而通过发布道服务器上的链接打开是 ...

  10. Linq基础知识小记一

    1.LINQ(语言级集成查询)的作用就是提供一种统一且对称的方式,让程序员在广义的数据上获取和操作数据.广义的数据包括XML文档数据.元数据.System.Data.dll和System.Data.S ...