For the complete documentation index, see llms.txt. This page is also available as Markdown.

逻辑后缀字段

默认情况下,查询对象各个字段对应的查询条件之间通过AND连接。如果想要定义使用逻辑运算符OR连接的查询条件,则需要在字段名称中定义后缀Or,并且支持以下三种字段类型:

public class UserQuery extends PageQuery {
    // ...
    private List<String> nameStartOr;
    private UserQuery userOr;
    private List<UserQuery> usersOr;
}

List<String> nameStartOr;

UserQuery userQuery = UserQuery.builder().nameStartOr(List.of("Bob","John","Tim")).build();
List<UserEntity> users = userDataAccess.query(userQuery);
// SQL="SELECT id, name, score, memo, deleted FROM t_user 
// WHERE (name LIKE ? OR name LIKE ? OR name LIKE ?)" args="[Bob% John% Tim%]"

UserQuery userOr;

UserQuery userQuery = UserQuery.builder().nameStartOr(Arrays.asList(1, 4, 12)).deleted(trur).build();
List<UserEntity> users = userDataAccess.query(userQuery);
// SQL="SELECT id, name, score, memo, deleted FROM t_user 
// WHERE (id IN (?, ?, ?) OR deleted = ?)" args="[1 4 12 true]"

List<UserQuery> usersOr;

And后缀

当字段的名称以And结尾时,连接多个查询条件的逻辑运算符为AND。

UserAnd *UserQuery

相关文章

在GoooQo中怎么表达select * from user where id = ? or (name = ? and age = ?)

最后更新于