1. 程式人生 > >日系框架之Seasar2之SQL註釋大坑-yellowcong

日系框架之Seasar2之SQL註釋大坑-yellowcong

Seasar是一個輕量級的框架,用起來也挺方便的,但是在註釋和除法的時候,會有一些坑,我就跳進去了,淡騰啊,注意/*變數*//* 註釋*/之間,區別是 多了一個空格。還有/*變數*/doubi預設值和/*變數*/ /100的演算法中,不同的地方是,多了一個空格,就變成了演算法,而不是預設值了。

       S2Dao使用/**/或者–註解將方法(method)的引數和SQL指令的繫結變數進行關聯。 因為只是追加註解,所以即使是對SQL指令設定了關聯之後,使用SQL*Plus等SQL工具依然可以直接執行這些SQL指令。 先用SQL工具執行SQL指令,得到預想的結果之後再追加註解(comment)是一個好辦法。

普通註釋和引數

另外,如果只想對SQl指令使用具有說明性質的註解,可以在/之後輸入空格,這樣就變成了一般的註解。 例如,像/ hoge*/這樣的寫法,/*之後是一個空格,那麼執行SQL指令時hoge就會被忽視掉。

在SQL註釋中,有/**/註釋--註釋,在Seasar2框架中,解決多行註釋的辦法是,在/*之後是一個空格,那麼執行SQL指令時hoge就會被忽視掉。/* 註釋類容*/

設定固定值

在sql裡面,設定預設值的方式 /*引數名*/固定值 但是我們向做除法的時候,咋辦呢

--/*引數名*/固定值

SELECT
    DOUBI_TXT
FROM
    DOUBI
WHERE
    NENDO       = /*paramDto.nendo*/
1 AND NAME_KBN = /*paramDto.namekbn*/1 /*IF paramDto.kamokuNo != ""*/ AND NAME_NO = /*paramDto.nameNo*/1 /*END*/

變數後面帶引數的操作

一般情況下 /*引數名*/固定值是設定預設值的方式,但是這種做法導致的問題是有時候後面做算術操作的時候,就會不認了,所以 需要在 引數後面加一個空格/*引數名*/ *100,下面是一個例子,注意引數名稱後面有個空格

--在後面加上一個空格,就變成了除法,而不是註釋了
SELECT A FROM USER WHERE AGE = /*paramDto.age*/ /100