原创 MyBatis的常用API及方法
org.apache.ibatis.session.SqlSession MyBatis工作的主要頂層API,表示和數據庫交互的會話。完畢必要數據庫增刪改查功能。 org.apache.ibatis.executor.Executor
原创 spring--bean自動裝配
創建應用對象之間協作關係的行爲被稱爲裝配(wiring),而不是實例化對象的過程,xml文件中,通過<property name="xxx" ref="yyy" />的方式來裝配了依賴對象. xml中通過autowire=""實現自動
原创 SpringMVC的工作原理圖
SpringMVC流程 1、 用戶發送請求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到請求調用HandlerMapping處理器映射器。 3、 處理器映射器找到具體的處理器(可以根
原创 Hibernate和MyBatis的區別與利弊
1、hibernate真正掌握要比mybatis難,因爲hibernate的功能和特性非常多,還不適合多表關聯查詢。 2、hibernate查詢會將所有關聯表的字段全部查詢出來,會導致性能消耗,當然hibernate也可以自己寫sql指定
原创 mybatis實現多表一對一,一對多,多對多關聯查詢
1、一對一 關鍵字:association 作用:針對pojo對象屬性的映射 property:pojo的屬性名 javaType:pojo類名 (1) 嵌套結果: 使用嵌套結果映射來處理重複的聯合結果的子集 Pe
原创 mongodb -- 索引注意事項
1. 索引很有用,但是它也是有成本的——它佔內存,讓寫入變慢; 2. mongoDB通常在一次查詢裏使用一個索引,所以多個字段的查詢或者排序需要複合索引才能更加高效; 3. 複合索引的順序非常重要 4. 在生成環境構建索引往往開銷很大,時
原创 redis -- 哨兵機制
redis sentinel是一個分佈式架構,其中包含了若干個sentinal節點和Redis節點,每個sentinel節點會對數據節點和sentinel節點進行監控,當它發現節點不可達是,會對節點做下線標識。如果大部分sentinal節
原创 Spring設計模式
第一種:工廠模式 BeanFactory,從xml或者註解加載BeanDefinition,然後實例化對象,其中AbstractAutowiredCapableBeanFactory實現了主要的邏輯 第二種:單例模式 Spring下默
原创 常見排序及源碼
一、冒泡排序 public class BubbleSort { public static void BubbleSort(int[] arr) { int temp;//定義一個臨時變量 fo
原创 mongodb -- mongodb與mysql的區別?
mongodb的本質還是一個數據庫產品,3.0以上版本其穩定性和健壯性有很大提升。它與mysql的區別在於它不會遵循一些約束,比如:sql標準、ACID屬性,表結構等。其主要特性如下: 面向集合文檔的存儲:適合存儲Bson(json的擴
原创 mysql -- 複製的原理
Mysql的複製原理大致如下: 主庫在數據提交時會把數據變更作爲事件記錄在二進制日誌文件Binlog中;可通過sync_binlog控制binlog日誌刷新到磁盤的頻率; 主庫推送二進制日誌文件binlog中的事件到從庫的中繼日誌Rela
原创 mysql -- 怎麼樣做執行計劃分析
通過explain命令獲取mysql如何執行select語句的信息,包括在select語句執行過程中表如何連接和連接的順序;explain分析後的結果解析: 1.select_type 查詢的類型,主要是用於區分普通查詢、聯合查詢、子查詢
原创 mysql--各個數據庫存儲引擎區別
mysql的存儲引擎是針對表進行設置的,一個庫的不同表可以設置不同的存儲引擎,mysql默認支持多種存儲引擎,以適用不同領域的數據庫應用需要,主要的幾個數據庫引擎如下: 1.MyISAM存儲引擎 5.5之前默認的存儲引擎,不支持事務、不
原创 mysql -- 提高mysql語句效率的技巧
一、大批量插入數據 1.大批量數據插入空表,可將表設置成爲MyISAM,並通過disable keys將唯一索引關閉 2.大批量數據插入非空Innodb表,可採取如下措施提高效率: [1]導入數據時按照主鍵順序排列;
原创 mongodb -- 查詢優化
第一步 找出慢速查詢 1. 開啓內置的查詢分析器,記錄讀寫操作效率: db.setProfilingLevel(n,{m}),n的取值可選0,1,2; 1) 0是默認值表示不記錄; 2) 1表示記錄慢速操作,如果