不灭的焱

革命尚未成功,同志仍须努力 下载Java21

作者:AlbertWen  添加时间:2026-06-14 20:10:47  修改时间:2026-06-24 17:24:35  分类:07.Java框架/系统  编辑

1.基础查询

 List<Employee> employees = QueryChain.of(employeeMapper)
        .like(StringUtils.isNotEmpty(searchWord), Employee::getUserName,"B")
        .eq(Employee::getGender, 1)
        .gt(Employee::getAge, 24)
        .list()
        ;

2.查询集合函数

List<Employee> employees = QueryChain.of(employeeMapper)
        .select(Employee::getId)
        .select(Employee::getUserName,c->c.max())
        .select(Employee::getBirthday,c->c.max())
        .select(Employee::getBirthday,c->c.avg().as("sex_avg")) 
        .list()
        ;

3.and(...) 和 or(...)

假设我们要构建如下的 SQL 进行查询(需要在 SQL 中添加括号)。

SELECT * FROM tb_account
WHERE id >= 100
AND (sex = 1 OR sex = 2)
OR (age IN (18,19,20) AND user_name LIKE "%michael%" )

Xbatis:

List<Employee> employees = QueryChain.of(employeeMapper)
        .gte(Employee::getId, 100)
        .nested(i -> {
            i.eq(Employee::getSex, 1)
            .or()
            .eq(Employee::getSex, 2);
        })
        .or()
        .nested(i -> {
            i.in(Employee::getAge, 18, 19, 20).
            like(Employee::getUserName, "michael");
        })
        .list();