1. 程式人生 > >第一篇-SSM框架+ehcache詳細配置(適合新手)

第一篇-SSM框架+ehcache詳細配置(適合新手)

最近打算把常用的快取技術總體複習一下,也希望幫助到和我遇到一樣問題的親們。

1.前言

為了提高MyBatis的效能,有時候我們需要加入快取支援,目前用的比較多的快取莫過於ehcache快取了,ehcache效能強大,而且位各種應用都提供瞭解決方案,在此我們主要是做查詢快取,提高查詢的效率.

2.環境

Maven+Idea+Mysql

最好是自己曾經搭建過ssm框架的人,然後你可以在這基礎上進行整合。沒有也沒關係,後面會給原始碼的,哈哈哈。

3.需要的依賴包

<!-- ehcache 相關依賴 -->
<dependency>
    <groupId>org.ehcache</groupId>
    <artifactId>ehcache</artifactId>
     <version>3.1.3</version>
</dependency>
 <!--Mybatis-ehcache-->
<dependency>
    <groupId>org.mybatis.caches</groupId>
    <artifactId>mybatis-ehcache</artifactId>
    <version>1.0.3</version>
</dependency>

4.新建ehcache.xml(resources目錄下) 直接拷貝過去就ok

<?xml version="1.0" encoding="UTF-8"?>
<ehcache>
    <!-- java.io.tmpdir:Java臨時目錄。指定一個檔案目錄,當EhCache把資料寫到硬碟上或者系統jvm記憶體時,將把資料寫到這個檔案目錄下 -->
    <diskStore path="java.io.tmpdir"/>
    <!-- 設定快取的預設資料過期策略 -->
    <defaultCache
            maxElementsInMemory="10000"
            eternal="false"
            overflowToDisk="true"
            timeToIdleSeconds="10"
            timeToLiveSeconds="10"
            diskPersistent="false"
            memoryStoreEvictionPolicy="LRU"
            diskExpiryThreadIntervalSeconds="120"/>
    <!--
   配置自定義快取
   maxElementsInMemory:快取中允許建立的最大物件數
   eternal:快取中物件是否為永久的,如果是,超時設定將被忽略,物件從不過期。
   timeToIdleSeconds:快取資料的鈍化時間,也就是在一個元素消亡之前,
                   兩次訪問時間的最大時間間隔值,這隻能在元素不是永久駐留時有效,
                   如果該值是 0 就意味著元素可以停頓無窮長的時間。
   timeToLiveSeconds:快取資料的生存時間,也就是一個元素從構建到消亡的最大時間間隔值,這隻能在元素不是永久駐留時有效,如果該值是0就意味著元素可以停頓無窮長的時間。
   overflowToDisk:記憶體不足時,是否啟用磁碟快取。
   memoryStoreEvictionPolicy:快取滿了之後的淘汰演算法。
   -->
    <!--  自定義快取策略-學生資訊快取容器對應策略-->
</ehcache>

5.在mapper.xml加上一句話

<cache type="org.mybatis.caches.ehcache.LoggingEhcache"/>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.peace.pms.dao.UserDao">
	<cache type="org.mybatis.caches.ehcache.LoggingEhcache"/>
	<resultMap type="com.peace.pms.entity.User" id="UserResult">
		<result property="username" column="username"/>
		<result property="password" column="password"/>
	</resultMap>
	<select id="getall" resultType="com.peace.pms.entity.User">
		select* from user
	</select>
</mapper>

6.Spring進來了,怎麼把ehcache和spring弄一起?

在application-context.xml加入下面的東東:

<!-- 開啟spring快取 -->
<cache:annotation-driven cache-manager="cacheManager"/>
<bean id="ehcache" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
      <property name="configLocation" value="classpath:encache.xml"></property>
</bean>
<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager">
      <property name="cacheManager" ref="ehcache"></property>
</bean>

其實就已經好了,是不是很簡單呢。那怎麼就知道成功呢,下面就是見證奇蹟的時刻:

1.執行專案

2.訪問http://localhost:8080/pms/user/list/



補一下sql:

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `username` varchar(255) DEFAULT NULL,
  `password` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('11', '11');
INSERT INTO `user` VALUES ('22', '22');
INSERT INTO `user` VALUES ('33', '33');

你csdn沒積分的話,就留下郵箱,我看到了肯定及時發給你,親


相關推薦

第一-SSM框架+ehcache詳細配置適合新手

最近打算把常用的快取技術總體複習一下,也希望幫助到和我遇到一樣問題的親們。1.前言為了提高MyBatis的效能,有時候我們需要加入快取支援,目前用的比較多的快取莫過於ehcache快取了,ehcache效能強大,而且位各種應用都提供瞭解決方案,在此我們主要是做查詢快取,提高查

基於SSM的POI導入導出Excel實戰第一-SSM框架的整合

lib 三層 下載 童鞋 框架 excel alt 第三方 新建 業務背景:在JavaWeb應用開發中,經常需要將應用系統中某些業務數據導出到Excel中,又或者需要將這些業務數據先收集到Excel然後一鍵導入到系統 業務需求:如何用Java實現導入導出Excel 需求分析

樹莓派kali linux詳細配置最新版

1.準備一個樹莓派,配置16g或32gtf卡 2.在kali linux官網上下載kali-linux-2018.3-rpi3-nexmon.img 3.使用win32diskimager將img檔案燒錄至tf卡,將tf卡插入樹莓派,插上dhcp顯示器,網線/無

2017深度學習最新報告及8大主流深度學習框架詳細對比內含PPT

​ 深度學習領軍人物 Yoshua Bengio 主導的蒙特利爾大學深度學習暑期學校目前“深度學習”部分的報告已經全部結束。 本年度作報告的學術和行業領袖包括有來自DeepMind、谷歌大腦、蒙特利爾大學、牛津大學、麥吉爾大學、多倫多大學等等。覆蓋的主題包括:時間遞迴神經網路、自然語言處理、生成模型、大腦

Nginx詳細配置負載策略————超級詳細

Nginx的配置檔案nginx.conf配置詳解如下:user nginx nginx ;Nginx使用者及組:使用者 組。window下不指定worker_processes 8;工作程序:數目。根據硬體調整,通常等於CPU數量或者2倍於CPU。error_log  log

詳細 idea ssm+maven 專案例項適合新手

https://blog.csdn.net/khxu666/article/details/79851070#commentBox 我是在上面作者寫的基礎上發現了幾個非常容易犯的錯誤,而且還怎麼也不知道怎麼解決的。在這裡我記錄一下,以免以後再遇到。 https://www.cnblogs.c

mac系統下nginx的詳細安裝過程及使用適合新手

介紹nginx,nginx配置說明,nginx安裝過程,Homebrew安裝及說明,nginx安裝及說明,nginx啟動,重啟,關閉,nginx出錯解決辦法,nginx常用指令及修改 目錄結構       · 前置條件:介紹nginx   &nbs

機器學習包括深度神經網路python開發環境搭建詳細適合新手

最近接了一個大資料專案,需要進行到資料分析,作為一個從程式設計師往資料探勘工程師轉行的人來說,R語言在靈活性上不如Python,並且在深度神經網路等機器學習開源模組上,python也比R語言有更好的支援。本文主要利用Ubuntu來搭建虛擬機器來進行資料分析工作,主要利用了

eclipse匯入web專案,釋出到tomcat,部署的詳細步驟適合初學者

專案說明:首先將專案儲存到本地PC的任意盤下(如:D:\workspace\SRC\PrintCentralWeb)。確定已經配置好了JDK(32bit),下載好了eclipse(免安裝32bit)和Tomcat(免安裝版32bit)。JDK,eclipse, Tomcat

python設置統一編碼格式適合新手

Python編碼 utf-b 中文亂碼 python 作為一種高級語言,自身有許多的編碼。很多新手在剛開始編程時會遇到中文亂碼的情況,如下面截圖 怎樣解決這個問題呢?其實很簡單,在第一行定義編碼格式為UTF-8就可以了。即在第一行輸入代碼:# --coding: utf-8 -- 。如下圖:

使用 php內建Web Server 跑 thinkphp5適合新手

1、第一步,下載tp5 2、編寫方法 3、啟動內建WEB server 4、測試 // php web服務 if (preg_match('/PHP/', $_SERVER['SERVER_SOFTWARE'])) { if (preg_match

推薦一個Oracle學習網站適合新手

  Oracle高手之路 http://www.orasql.com/ 裡面有很多教程。 視訊教程,書籍,實戰專案,資源下載。 為Oracle新手提供了很多學習資料,真的還不錯哦。 裡面還有OCP培訓和考試的筆記和資料 我在那裡學

一步一步教你寫一個快遞查詢APP適合新手

前言: 水平:自學Android十五天,以前有過混日子的程式設計經驗。 目標: 《第一行程式碼》學完之後,總想寫個APP,天氣的APP寫了個初版,後面再說,今天演示的是製作快遞查詢APP的整個經過。 適合人群:新手 工具:A

最簡單的原生js輪播圖適合新手

經過幾天的努力,終於攻克了這一難題,於是迫不及待的想要分享給大家,編寫之前,我也看了不少其他博主的部落格,大多是用偏移量寫的,對新 手來說,還是有些難以理解,雖然可能實現的需求不一樣,但我想先從簡入手,所以自己查閱資料,修改bug,終於完成。話不多說,上程式碼:如果 可以

39個C語言小程式適合新手

1 %c 輸入 2 個數字(0--9),將 2 個數字組成 2 位數並每位上的數字不能相同,以%d 輸出。#include <stdio.h> int main() { char a,b; int sum; pr

git基本操作適合新手

本人也是剛剛開始學習 大家可以一起交流,大佬可以在教一下 > 目錄 1. git配置 2. git本地倉庫 3. SSH提交方式,git提交遠端倉庫 ## 一、git配置 ```` js git config --global user.name 你的英文名 git config --global use

實戰SSM三大框架整合詳細教程Spring+SpringMVC+MyBatis

<pre class="html" name="code" snippet_file_name="blog_20170402_1_8023453" code_snippet_id="2295822"><span style="font-size:14px;"><project x

SSM三大框架整合詳細教程Spring+SpringMVC+MyBatis

json轉換 需要 acc log4 err ppi junit測試 日誌 enc 使用 SSM ( Spring 、 SpringMVC 和 Mybatis )已經有三個多月了,項目在技術上已經沒有什麽難點了,基於現有的技術就可以實現想要的功能,當然肯定有很多可以改進的地

SSM框架整合友好的文章

上一篇講述了DAO 層,mybatis實現資料庫的連線,DAO層介面設計,以及mybtis和spring的整合。DAO層採用介面設計方式實現,介面和SQL實現的分離,方便維護。DAO層所負責的僅僅是介面的設計和實現,而負責的邏輯即一個或多個DAO層介面的拼接是在Sevice層中完成。這篇文章接上篇文章,

SSM框架整合友好的文章

###一.SpringMVC理論 它始終是圍繞 handler、資料模型 model、頁面view進行開發的。 執行流程圖: 通過mvc配置檔案,配置“中央處理器”dispatchservlet,當用戶請求一個url,dispatchservlet通過handlerMap