簡體   English   中英

如何在3.9.2中使用Jooq映射器

[英]How to use Jooq mapper in 3.9.2

我想用系統提供mapper,怎么用? 或者你如何實現一個?

例如:

public List<com.chunfytseng.microedu.jooq.tables.pojos.SysResources> findResourceByUserId(Long value) {
        using(configuration()).
           select(SysRoleResources.SYS_ROLE_RESOURCES.ROLE_ID, 
                   SysRoleResources.SYS_ROLE_RESOURCES.RESOURCES_ID,
                   SysRoleResources.SYS_ROLE_RESOURCES.PERMS)
          .from(SysRoleResources.SYS_ROLE_RESOURCES)
          .leftSemiJoin(SysUserRole.SYS_USER_ROLE)
          .on(SysRoleResources.SYS_ROLE_RESOURCES.ROLE_ID.eq(SysUserRole.SYS_USER_ROLE.ROLE_ID).
                  and(SysUserRole.SYS_USER_ROLE.USER_ID.equal(value)))
          .fetch().map(mapper());
    }

RecordMapper可以非常容易地實現,如下所示:

Java 8風格

fetch().map(record -> {
    SysResources result = new SysResources();
    result.setRoleId(record.get(SYS_ROLE_RESOURCS.ROLE_ID));
    result.setResourcesId(record.get(SYS_ROLE_RESOURCS.RESOURCES_ID));
    result.setPerms(record.get(SYS_ROLE_RESOURCS.PERMS));
    return result;
});

Java 7及更舊的風格:

fetch().map(new RecordMapper<Record, SysResources>() {
    @Override
    public SysResources map(Record record) {
        SysResources result = new SysResources();
        result.setRoleId(record.get(SYS_ROLE_RESOURCS.ROLE_ID));
        result.setResourcesId(record.get(SYS_ROLE_RESOURCS.RESOURCES_ID));
        result.setPerms(record.get(SYS_ROLE_RESOURCS.PERMS));
        return result;
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM