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


相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-02-14
  • 2022-12-23
  • 2021-12-26
  • 2021-11-28
  • 2021-09-17
  • 2021-05-03
猜你喜欢
  • 2022-02-11
  • 2021-07-13
  • 2021-10-09
  • 2021-12-30
  • 2022-01-17
  • 2022-12-23
  • 2021-10-08
相关资源
相似解决方案