JFinal3.0快速上手若未,sql管理與動(dòng)態(tài)生成下(二十八)

首先要感謝小徐同學(xué)南63同學(xué)恩商,因?yàn)橛心銈兊膸椭投酱俨庞辛舜宋牡漠a(chǎn)出。衷心的感謝二位贝搁,還有其他的小伙伴們吗氏!

在上一小節(jié),遺留了一個(gè)命名空間沒有講雷逆。這個(gè)知識(shí)點(diǎn)其實(shí)很好理解弦讽,就像包名的概念一樣。接下來就讓我們一起來熟悉一下#namespace指令的用法膀哲。

因?yàn)?strong>#namespace的存在往产,在程序中可以將命名相同的sql標(biāo)識(shí)區(qū)分開。有點(diǎn)類似現(xiàn)實(shí)生活中兩個(gè)重名的同學(xué)一樣某宪,可以通過他們在教室的坐位來區(qū)分誰是誰一樣仿村。也許這里例子有點(diǎn)不恰當(dāng),但是聰明的你應(yīng)該明白了兴喂。接下來蔼囊,請看代碼。

1衣迷、sql文件中的代碼

#namespace("sugar")
    #sql("findUserList")
      select * from t_user where id=#para(id) and pwd=#para(pwd)
    #end
#end

2畏鼓、服務(wù)端java代碼

細(xì)心的小伙伴已經(jīng)知道該如何在java代碼調(diào)用,是的沒錯(cuò)壶谒,就如何所看到的一樣云矫。在#namespace的sql調(diào)用只需要通過空間名.sql標(biāo)識(shí)來調(diào)用。注意空間名和sql標(biāo)識(shí)中的點(diǎn)號(hào)(操作符)千萬不要忘記寫或?qū)戝e(cuò)了汗菜,否則會(huì)出現(xiàn)紕漏让禀。

     public void index(){
         //設(shè)置查詢參數(shù)
         Kv cond= Kv.by("id",3).set("pwd",345678);
         //封裝查詢參數(shù)并返回sql
         SqlPara sqlpara=Db.getSqlPara("sugar.findUserList",cond);
         //執(zhí)行查詢
         Db.find(sqlpara);
         //輸出查詢結(jié)果
         renderJson(Db.find(sqlpara));
     }

一、書山有路勤為徑

關(guān)于sql代碼高階用法陨界,其實(shí)也是很簡單巡揍。只是結(jié)合之前學(xué)習(xí)到的模板指令一起處理復(fù)雜的sql。這些小伙伴們可以自行摸索普碎,今天就簡單的介紹一個(gè)簡單的使用方法吼肥。

1录平、sql文件中的代碼
這是根據(jù)之前的代碼改造的 一個(gè)sql麻车,其作用并未發(fā)生改變缀皱,只是更加靈活一些了。沒有改造之前的sql是必須要傳參數(shù)动猬,改造之后的sql可以不傳參數(shù)啤斗。改造之后的sql使用#for()指令來迭代參數(shù),根據(jù)參數(shù)的索引來拼接sql赁咙。有經(jīng)驗(yàn)的老司機(jī)可以看出來钮莲,那是一個(gè)三元表達(dá)式,如果參數(shù)的索引是0彼水,那就使用where拼接參數(shù)崔拥,如果不是第一個(gè)那就使用and,然后輸出key和value凤覆。

#namespace("sugar")
    #sql("findUserList")
      select * from t_user
      #for(x:cond)
        #(for.index == 0 ? "where" : "and") #(x.key) #para(x.value)
      #end
    #end
#end

2链瓦、服務(wù)端java代碼

調(diào)用的方法大體和之前的一樣,但是還是有細(xì)微的差距盯桦。那就是在Db.getSqlPara()方法的第二個(gè)參數(shù)上慈俯,在這里又將參數(shù)進(jìn)行了一點(diǎn)小處理。其含義就是為了讓模板引擎能夠順利的找到要去解析的sql參數(shù)拥峦。

     public void index(){
         //設(shè)置查詢參數(shù)
         Kv cond= Kv.by("id=",3).set("pwd=",345678);
         //封裝查詢參數(shù)并返回sql
         SqlPara sqlpara =Db.getSqlPara("sugar.findUserList",Kv.by("cond",cond));
         //執(zhí)行查詢
         Db.find(sqlpara);
         //輸出查詢結(jié)果
         renderJson(Db.find(sqlpara));
     }

好了贴膘,親愛的小伙伴們!今天的栗子已經(jīng)舉完了略号。其實(shí)程序這點(diǎn)事兒刑峡,還是得靠自己去摸索。恭喜你們又掌握了一些知識(shí)玄柠,又進(jìn)步了一點(diǎn)氛琢,加油!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末随闪,一起剝皮案震驚了整個(gè)濱河市阳似,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌铐伴,老刑警劉巖撮奏,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異当宴,居然都是意外死亡畜吊,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門户矢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來玲献,“玉大人,你說我怎么就攤上這事“颇辏” “怎么了瓢娜?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長礼预。 經(jīng)常有香客問我眠砾,道長,這世上最難降的妖魔是什么托酸? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任褒颈,我火速辦了婚禮,結(jié)果婚禮上励堡,老公的妹妹穿的比我還像新娘谷丸。我一直安慰自己,他們只是感情好应结,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布淤井。 她就那樣靜靜地躺著,像睡著了一般摊趾。 火紅的嫁衣襯著肌膚如雪币狠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天砾层,我揣著相機(jī)與錄音漩绵,去河邊找鬼。 笑死肛炮,一個(gè)胖子當(dāng)著我的面吹牛止吐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播侨糟,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼碍扔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了秕重?” 一聲冷哼從身側(cè)響起不同,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎溶耘,沒想到半個(gè)月后二拐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡凳兵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年百新,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片庐扫。...
    茶點(diǎn)故事閱讀 40,675評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡饭望,死狀恐怖仗哨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情铅辞,我是刑警寧澤厌漂,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站巷挥,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏验靡。R本人自食惡果不足惜倍宾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望胜嗓。 院中可真熱鬧高职,春花似錦、人聲如沸辞州。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽变过。三九已至埃元,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間媚狰,已是汗流浹背岛杀。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留崭孤,地道東北人类嗤。 一個(gè)月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像辨宠,于是被迫代替她去往敵國和親遗锣。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容