一款新的超強的ORM框架 mybatis-mp !!!

appleUDID發表於2024-07-30

官網 :https://mybatis-mp.cn

1. 單表查詢

SysUser sysUser = QueryChain.of(sysUserMapper)
        .eq(SysUser::getId, 1)
        .eq(SysUser::getUserName,'admin')
        .get();

2.VO 對映

@Data
@ResultEntity(SysUser.class)
public class SysUserVo {

    private Integer id;

    private String userName;

    //欄位名字不一樣時
    @ResultEntityField(property = "password")
    private String pwd;

}
SysUserVO sysUserVO = QueryChain.of(sysUserMapper)
        .eq(SysUser::getId, 1)
        .eq(SysUser::getUserName,'admin')
        .returnType(SysUserVO.class)
        .list();

join 查詢

@Data
@ResultEntity(SysUser.class)
public class SysUserVo {

    private Integer id;

    private String userName;

    //欄位名字不一樣時
    @ResultEntityField(property = "password")
    private String pwd;
    
    //對映一個物件 1對1
    @NestedResultEntity(target = SysRole.class)
    prviate SysRole sysRole;
    
    //對映多個物件 1對多
    @NestedResultEntity(target = SysRole.class)
    prviate List<SysRole> sysRoles;

}
List<SysUserRoleVO> list = QueryChain.of(sysUserMapper)
        .from(SysUser.class)
        .join(SysUser.class, SysRole.class)
        .returnType(SysUserRoleVO.class)
        .list();

還有很多很多超級方便有趣的寫法,歡迎大家來使用 https://mybatis-mp.cn

例如

1 . 多表 join A 內嵌 B B 內嵌 C 都可以

2 . 不使用 join 使用 @Fetch 註解 + fetchFilter 方法實現 將 A JOIN B 變成 query A + query B

3 . 使用 @Paging 註解 實現你的 xml 自動分頁

4 . 使用 SQL 模板,讓你 ORM 更簡單更容易擴充套件,再也不怕被框架限制了

還有很多 歡迎進群 討論 QQ 群:121908790

相關文章