多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 复杂的条件查询 下面就开始进阶了,要进行一条复杂的条件查询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(); ```