原创 MySQL索引的應用

1.索引作用 在索引列上,除了上面提到的有序查找之外,數據庫利用各種各樣的快速定位技術,能夠大大提高查詢效率。特別是當數據量非常大,查詢涉及多個表時,使用索引往往能使查詢速度加快成千上萬倍。 例如,有3個未索引的表t1、t2、

原创 MySql存儲過程總結

存儲過程如同一門程序設計語言,同樣包含了數據類型、流程控制、輸入和輸出和它自己的函數庫。 ——————–基本語法——————– 一.創建存儲過程 create procedure sp_name() begin ……… e

原创 MySql觸發器應用總結

什麼觸發器 1,個人理解 觸發器,從字面來理解,一觸即發的一個器,簡稱觸發器(哈哈,個人理解),簡單理解就是,滿足一定條件就可觸發某個操作。 2,官方定義 觸發器(trigger)是個特殊的存儲過程,它的執行不是由程序調用,

原创 設計模式實踐七-迪米特法則

定義:一個對象應該對其他對象保持最少的瞭解。 問題由來:類與類之間的關係越密切,耦合度越大,當一個類發生改變時,對另一個類的影響也越大。 解決方案:儘量降低類與類之間的耦合。 自從我們接觸編程開始,就知道了

原创 H2數據庫攻略之一-簡介

1.H2數據庫介紹 常用的開源數據庫:H2,Derby,HSQLDB,MySQL,PostgreSQL。其中H2,HSQLDB類似,十分適合作爲嵌入式數據庫使用,其它的數據庫大部分都需要安裝獨立的客戶端和服務器端。 H2的優勢:

原创 設計模式實踐五-依賴倒置原則

定義:高層模塊不應該依賴低層模塊,二者都應該依賴其抽象;抽象不應該依賴細節;細節應該依賴抽象。 問題由來:類A直接依賴類B,假如要將類A改爲依賴類C,則必須通過修改類A的代碼來達成。這種場景下,類A一般是高層模塊,負責複雜的業務

原创 Java代碼生成利器之rapid-generate應用三

rapid-generate主要特性介紹: 一. 生成器模板路徑可以引用相關變量 如 basepackage/ {className}.java,根據該變量生成輸出文件 二. 自動搜索某個目錄所有模板文件,無需配置 三.

原创 java線程同步-synchronized鎖用法

在Java中,synchronized關鍵字是用來控制線程同步的,就是在多線程的環境下,控制synchronized代碼段不被多個線程同時執行。synchronized既可以加在一段代碼上,也可以加在方法上。 關鍵是,不要認爲給方

原创 Java代碼生成利器之rapid-generate應用二

  上節我們簡單介紹了rapid-generate能做些什麼,並演示了一下工具自帶的測試代碼,本節我們將把這把利器結合Mysql應用到我們的項目中。 步驟一:新建java項目工程,將rapid-generate中的generate

原创 H2數據庫攻略之三-結合Maven

上一節我們介紹了H2database是什麼以及簡單的應用,本文將進一步深入,將H2應用到以Maven管理的項目中。 一、引入Maven依賴 在maven中定義H2數據庫的版本屬性 <properties> <h2.ver

原创 Java線程安全和非線程安全

ArrayList和Vector有什麼區別?HashMap和HashTable有什麼區別?StringBuilder和StringBuffer有什麼區別?這些都是Java面試中常見的基礎問題。面對這樣的問題,回答是:ArrayLi

原创 Java代碼生成利器之rapid-generate應用五

本文我們將分析一下rapid-generate源碼,看看其設計思路以及運行原理究竟是怎樣的。 我們從Test類的main函數入口說起 public static void main(String[]args)throws Exce

原创 設計模式實踐一-概述

設計模式(Design Patterns) ——可複用面向對象軟件的基礎 設計模式(Design pattern)是一套被反覆使用、多數人知曉的、經過分類編目

原创 設計模式實踐四-里氏替換原則

肯定有不少人跟我剛看到這項原則的時候一樣,對這個原則的名字充滿疑惑。其實原因就是這項原則最早是在1988年,由麻省理工學院的一位姓裏的女士(Barbara Liskov)提出來的。 定義1:如果對每一個類型爲 T1的對象 o1,

原创 H2數據庫攻略之四-集羣

H2數據庫在集羣方面也有不錯的表現,下面介紹一下如何利用H2的集羣/高可用性機制。 集羣 / 高可用性 數據庫支持簡單的集羣/高可用性機制。 架構是:兩個數據庫服務運行在兩臺不同的計算機上,兩臺計算機有同樣數據庫的副本,如果兩個