nutz框架使用记录之Cnd.wrap

这是对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


原文地址:https://www.cnblogs.com/or2-/p/3877596.html