ThinkSSL🔒 一键申购 5分钟快速签发 30天无理由退款 购买更放心 广告
## 复杂的条件查询 下面就开始进阶了,要进行一条复杂的条件查询SQL,就要用到 query.condition() 方法,产生一个新的条件,比如我们要查询下面这条SQL ``` SQL:SELECT * FROM `user` WHERE ( `id` IN( ? , ? , ? ) AND `name` LIKE ? )OR ( `id` = ? ) 参数:[1637, 1639, 1640, %t%, 1640] ``` ```java //建议JDK8使用 lambdaQuery 查询 Query<User> query = sqlManager.query(User.class); List<User> list = query .or(query.condition() .andIn("id", Arrays.asList(1637, 1639, 1640)) .andLike("name", "%t%")) .or(query.condition().andEq("id", 1640)) .select(); ``` 复杂的条件查询,只需要调用 or() 方法 和 and()方法 ,然后使用 query.condition()生成一个新的条件传入就行; 比如下面这条SQL ``` SQL:SELECT * FROM `user` WHERE ( `id` IN( ? , ? , ? ) AND `name` LIKE ? )AND `id` = ? OR ( `name` = ? ) 参数:[1637, 1639, 1640, %t%, 1640, new name2] ``` ``` Query<User> query = sqlManager.query(User.class); List<User> list = query .and(query.condition() .andIn("id", Arrays.asList(1637, 1639, 1640)) .andLike("name", "%t%")) .andEq("id", 1640) .or(query.condition().andEq("name","new name2")) .select(); ```