原创 模式設計的祕密之單例模式。

前言:在我們的實際應用中,經常會出現整個應用中有且只有一個,比如工具類。連接池,日誌,緩存等等。這個時候經常就會考慮用單例設計模式來解決問題。 一.餓漢式單例模式 public class SingleTon{ //私有的構造方法,

原创 Mybatis的輸出映射

前言:Mybatis是基於"數據庫結構不可控"的思想建立的,也就是我們希望數據庫遵循第三範式或BCNF,但實際上卻不是這樣的。那麼結果映射就是Mybatis爲我們提供的理想與現實的轉換的手段了,而ResultMap就是結果銀蛇的配置標籤了

原创 Spring MVC學習系列(1)之人生若只如初見

前言:閒談一下我學Spring MVC的原因吧,我的第一份工作是在一個物流公司維護他們的系統,差不多是做二次開發吧。他們的後臺是用的SSM(Spring+Spring MVC+Mybatis),我之前對這三個框架中的兩個是一點都不瞭解的,

原创 Oracle的分頁查詢

前言:oracle的分頁查詢有多種方法,效率也有區別,我要說的是我們公司用的這一種,也是我們經常用的。 SELECT * FROM ( SELECT temp.*, ROWNUM rn FROM ( SEL

原创 Mybatis的輸入映射

前言:Mybatis的配置文件中的select,insert,update,delete有一個屬性parameter來接收mapper接口方法中的參數。可以接收的類型有簡單類型和複雜類型,但是隻能是一個參數。這個屬性是可選的,因爲Myba

原创 spring mvc的數據綁定(參數綁定)

從客戶端請求key/value數據,經過參數綁定,將key/value的數據綁定到controller方法的形參上。在spring mvc中,接收頁面提交的數據是通過方法的形參來接收的,而不是在controller類中定義成員變量來接收!

原创 Mybatis中#和$的區別

1.#{}將傳入的數據都當成是一個字符串,會自動給數據加上引號。eg:#{id}="id";${}將傳入的數據直接顯示在sql中,eg:${id}=id。 2.#{}是一個佔位符,能夠防止sql注入;${}是一個拼接符號,不能夠防止sql

原创 Mybatis的動態SQL

前言:MyBatis的動態SQL是基於OGNL表達式的,通過對sql語句的拼接和組裝可以實現一些邏輯。 MyBatis中用於實現動態SQL的元素主要有:i,choose(when,otherwise),where,trim,set,for

原创 模式設計的祕密之模板方法模式

前言:先說說實際生活中的例子吧,比如我們去銀行辦理業務,通常會經歷一下幾個步驟。(1)拿號;(2)填寫業務單;(3)等待叫號;(4)去櫃檯辦理自己的業務。步驟一和三對每個普通的銀行客戶來說都是差不多的,而步驟二和四會因爲個體的不同而有所不