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