nutz框架使用記錄之Cnd.wrap

c3tc3tc3t發表於2014-07-30

這是對Cnd.wrap 官方用法 , 直接硬編碼 ,

  

[JAVA]
List<Person> crowd = dao.query(Person.class, Cnd.wrap("name LIKE
'J%' AND age>20"), null);


這句話,就會將所有名稱以 J 開頭,並且年齡超過20歲的人全部查詢出來。上面那句話執行的 SQL 程式碼為:


[SQL]
SELECT * FROM t_person WHERE name LIKE 'J%' AND age>20;


當然你要是寫
[JAVA]
Cnd.wrap("name LIKE 'J%' AND age>20 ORDER BY name ASC");
就會按照 name 欄位排序。

 

就是直接傳where後面的判斷。但是還有一個過載方法

public static Condition wrap(java.lang.String sql,
                             java.lang.Object value) 
文件並沒有給出使用記錄。我檢視了原始碼。找到了用法
Map<String,String> ms = new HashMap<>();
ms.put("name","'p0'");
List<Pet> crowd = dao.query(Pet.class, Cnd.wrap("name = ${name}", ms), null);

 

生成的語句
SELECT * FROM tb_pet  WHERE name = 'p0'

這樣可以方便的編寫原生sql類似 preparedstatement


相關文章