1. 程式人生 > >mybatis註解及快取調優

mybatis註解及快取調優

注 解: 好 處:1、減少維護數量,配置檔案減少; 2、減少編碼量,提升效率 做 法: 註釋去實現普通的程式碼實現,當出現動態SQL的時候採用呼叫xml的方法; 儲存物件 @Insert(value="insert into t_husband (hus_name) values (#{hus.name})") @Options(useGeneratedKeys=true,keyProperty="hus.id") //在標籤<insert>裡面有什麼屬性,寫在這裡; 根據ID查詢: @Select(value="select id as id,hus_name as name from t_husband where id = #{id}") @ResultType(HusbandBean.class) //返回型別為一個bean物件; 刪除ID符合的: 聯絡兩條刪除用“ ;"," ”分開
@Delete(value={"delete from t_wife where fk_hus_id = #{id};","delete from t_husband where id = #{id};"}) 查詢獲取物件方式: @ResultType(HusbandBean.class) //返回結果型別為bean物件;或者本身bean集合 @ResultMap("husWithWifeMap") 去xml引用 xml和ResultMap的程式碼一致 @Results({ @Result(id=true,property="id",column="hId",javaType=Long.class), //關聯關係配置
@Result(property="name",column="hName",javaType=String.class), @Result(property="wife.id",column="wId",javaType=Long.class), @Result(property="wife.name",column="wName",javaType=String.class) }) //關聯關係做及時載入 @Results({ @Result(id=true,property="id",column="id",javaType=Long.class), @Result(property="name",column="wife_name",javaType=String.class), @Result(property="hus",javaType=HusbandBean.class,column="fk_hus_id",
[email protected]
(fetchType=FetchType.LAZY,select="com.lovo.mybatis.mapper.HusbandMapper.getHusbandById")) //懶載入:fetchType=FetchType.LAZY 根據丈夫id外來鍵 懶載入 }) 集合的關聯關係: 根據父親id查詢父親及兒子的集合; @Results({ @Result(id=true,property="id",column="id",javaType=Long.class), @Result(property="name",column="parent_name",javaType=String.class), @Result(property="sons",javaType=List.class,column="id",[email protected](fetchType=FetchType.LAZY,select="getSonsByParentId")) }) for-each這種複雜的SQL語句直接放在xml中去; <mapper namespace="com.lovo.mybatis.mapper.SonMapper"> <insert id="batchAddSons"> insert into t_son (son_name,fk_parents_id)values <foreach collection="sons" item="son" separator=","> (#{son.name},#{son.parents.id}) </foreach> </insert> </mapper> 緩 存: 1、快取作用:JDBC是沒有快取的。快取可以幫助資料庫減壓; 也可以提升查詢效率快取位於記憶體內部,在快取內部是執行效率最高的);【宕機-必須重啟】 2、快取原理: 最開始公司:應用、資料庫、檔案都放在一臺伺服器上面;訪問量一大就很容易宕機; 花錢買三臺伺服器:應用一臺伺服器(最好)、DB一臺伺服器(檔案)對磁碟要求很高(大硬碟) 檔案一臺伺服器, 應用伺服器與DB 和 檔案互動; 新的瓶頸:資料庫越來越大、讀取越來越慢==>解決方案:增加一臺快取伺服器、提前將熱點資料存放在快取資料、請求來了首先看快取伺服器是否有資料,有就在哪裡拿,沒有再去DB伺服器; 做到:分層更多、但是響應請求更早; 3、1級快取(二級快取在hibate中去學習) 通過session會話完成;在不關閉session的時候,會自動開闢一個記憶體空間,將查詢的資料儲存在裡面; 一級快取預設是開啟的,只要有連線,就開啟了的; 顯示效果:相同的執行語句,只執行一次,後面的請求直接返回之前查詢的結果; 【補充點】:在中國跨網查詢速度很慢,很慢;網站訪問速度越慢,客戶流失率越大。 CDN:廣東的基站,在四川電信機房有基站,首先將基站資訊傳送到四川的伺服器上,使用者請求直接從這臺伺服器響應; 反向代理:每次請求都由反向代理去請求回來,然後發給客戶端; 動靜分離:資料請求、靜態請求(JS、css)兩者的伺服器分開放; 動靜分離不會出現404請求找不到;

相關推薦

mybatis註解快取調

注 解: 好 處:1、減少維護數量,配置檔案減少; 2、減少編碼量,提升效率 做 法: 註釋去實現普通的程式碼實現,當出現動態SQL的時候採用呼叫xml的方法; 儲存物件 @Insert(value="insert into t_husband (hus_name)

企業級Tomcat部署實踐安全調

變量 目錄介紹 idl base uil 新版 script rac inf Tomcat是Apache軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun和其他一些公司及個人共同開發而成。 To

windows下可用連線調節timewait調

windows下可用連線調節及time_wait調優 2016年11月6日 admin發表評論閱讀評論 朋友公司的產品執行在windows+nginx+tomcat平臺,發現連線接稍微一大,訪問就有問題。在主機上通過netstat進行檢視時,也發現有大量time_wait的情況 。在linu

決策樹建樹引數調策略實戰

%matplotlib inlineimport matplotlib.pyplot as pltimport pandas as pd #引入資料 from sklearn.datasets.california_housing import fetch_california_housinghousin

JVM效能調的6大步驟,關鍵調引數詳解

JVM效能調優的6大步驟,及關鍵調優引數詳解 JVM效能調優方法和步驟 1.監控GC的狀態 2.生成堆的dump檔案 3.分析dump檔案 4.分析結果,判斷是否需要優化 5.調整GC型別和記憶體分配 6.不斷分析

liunx 優化效能調

cpu 效能瓶頸  計算機中,cpu是最重要的一個子系統,負責所有計算任務; 基於摩爾定律的發展,cpu是發展最快的一個硬體,所以瓶頸很少出現在cpu上; 我們線上環境的cpu都是多核的,並且基於SMP(symmetric multiprocessing)結構的。 通

Tomcat-Jdbc-Pool配置效能調

1. maxActive="100"表示併發情況下最大可從連線池中獲取的連線數。 2、maxIdle="30"如果在併發時達到了maxActive=100,那麼連線池就必須從資料庫中獲取100個連線來供應用程式使用,當應用程式關閉連線後,由於maxIdle=30,因此並不是

Nginx動靜分離效能調實踐

直接看配置檔案!直接看配置檔案!直接看配置檔案! #user nobody; worker_processes 8; #error_log logs/error.log; #error_log logs/error.log notice; #error_log

JVM垃圾回收分代機制效能調

JVM Specification中的JVM整體架構   主要包括兩個子系統和兩個元件,Class Loader(類裝載)子系統,Execution Engine(執行引擎)子系統,Runtime Data Area(執行時資料區)元件,Native Interface(本地介面)元件。   Cl

windows下可用連線埠數量調節time_wait調

朋友公司的產品執行在windows+nginx+tomcat平臺,發現連線接稍微一大,訪問就有問題。在主機上通過netstat進行檢視時,也發現有大量time_wait的情況 。在linux平臺上這個問題非常好解決,通過sysctl.conf調節tcp/ip引數即可。wind

hadoop叢集調MR調

一、作業系統調優 1、提高網路連線上限。以增加網路頻寬的利用率,即修改核心net.core.somaxcon引數 2、關閉swap交換分割槽。以免記憶體不足時,資料會溢寫到磁碟,讀取時再從磁碟讀取,增加資料讀取時間 3、調整預讀快取區的大小。將資料預讀,減少磁碟IO時間

tomcat中使用apr性能調

error jdk1 rec less ken install earch als head tomcat8使用apr及性能調優本次安裝的軟件包括:jdk1.7.0_79apache-tomcat-8.0.0-RC1.tar.gzapr-1.5.2.tar.gzapr-ic

CPU負載觀察調方法

cpu負載觀察及調優方法紅帽6實現無滴答 tick lessinterrupt-driven由軟中斷進行驅動在SMP多CPU架構中,傳統上多CPU對於內存的訪問是總線方式。是總線就會存在資源爭用和一致性問題,而且如果不斷的增加CPU數量,總線的爭用會愈演愈烈,這就體現在4核CPU的跑分性能達不到2核CPU的2

Linux系統CPU的性能監控調

垃圾 線程的狀態 roo you etc 互聯網 訪問 get 配置文件 前言: 性能優化是一個老生常談的話題,典型的性能問題如頁面響應慢、接口超時,服務器負載高、並發數低,數據庫頻繁死鎖等。尤其是在“糙快猛”的互聯網開發模式大行其道的今天,

Hadoop作業性能指標參數調實例 (二)Hadoop作業性能調7個建議

optimize 自帶 管理 導致 10g avg merge map 設置 作者:Shu, Alison Hadoop作業性能調優的兩種場景: 一、用戶觀察到作業性能差,主動尋求幫助。 (一)eBayEagle作業性能分析器 1. Hadoop作業性能異常指標 2.

《Linux性能調指南》----1.1 Linux進程管理

內存 設計 order 輕量 地址空間 了解linux tro tar 完成 翻譯:飛哥 ( http://hi.baidu.com/imlidapeng ) 版權所有,尊重他人勞動成果,轉載時請註明作者和原始出處及本聲明。 原文名稱:《Linux Performanc

PostgreSQL on Azure.cn : 性能測試調

大小 ttl top 系統默認 針對 事務 環境 專用 average 上一篇我們知道怎麽一步步的安裝並部署PostgreSQL,接下來我們就要測試一下在Azure上PostgreSQL可以達成什麽樣的性能,並且嘗試修改數據庫的參數,看看怎麽優化數據庫性能。 對於數據庫新手

安裝linux系統後調安全設置

ras sync 完成 sap ssh連接 bin 建議 歷史 2.6 環境說明: [root@server1 ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@server1 ~]# uname

Linux系統安裝後的調相關配置

SELinux YUM 運行級別 sudo提取 服務 整體規劃遵從最小化原則,具體包括:系統安裝最小化、YUM安裝軟件包最小化、開機自啟動服務最小化、操作命令最小化、登錄系統用戶最小化、普通用戶權限最小化、系統文件及目錄權限最小化! 修改用戶密碼 # echo "centos" |pass

Elasticsearch主要配置性能調

系統/運維 Linux 1、最小主節點數防止集群發生腦裂,計算方式:( master 候選節點個數 / 2) + 1可以通過修改配置文件elasticsearch.ymldiscovery.zen.minimum_master_nodes: 2或者通過api接口動態修改curl -XPUT ‘http