您现在的位置是:首页 > 文章详情

mybatis-mp 常规简单用法 - 超级方便!!!

日期:2024-10-29点击:201

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

mybatis-mp 是基于mybatis扩展的一款超级好用的ORM框架!!!

1. 方便快捷的查询

SysUser sysUser = QueryChain.of(sysUserMapper)
   .from(SysUser.class)
   .eq(SysUser::getId, 1)
   .like(SysUser::getUserName,"admin")
   .get();


List<SysUser> list = QueryChain.of(sysUserMapper)
   .from(SysUser.class)
   .eq(SysUser::getId, 1)
   .like(SysUser::getUserName,"admin")
   .list();


Pager<SysUser> page = QueryChain.of(sysUserMapper)
   .from(SysUser.class)
   .eq(SysUser::getId, 1)
   .like(SysUser::getUserName,"admin")
   .paging();

2. 超好用的VO映射

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

    private Integer id;
     
    private String userName;

}



SysUserVo sysUserVo = QueryChain.of(sysUserMapper)
   .from(SysUser.class)
   .eq(SysUser::getId, 1)
   .like(SysUser::getUserName,"admin")
   .returnType(SysUserVo.class)
   .get();


List<SysUserVo> list = QueryChain.of(sysUserMapper)
   .from(SysUser.class)
   .eq(SysUser::getId, 1)
   .like(SysUser::getUserName,"admin")
   .returnType(SysUserVo.class)
   .list();


Pager<SysUserVo> page = QueryChain.of(sysUserMapper)
   .from(SysUser.class)
   .eq(SysUser::getId, 1)
   .like(SysUser::getUserName,"admin")
   .returnType(SysUserVo.class)
   .paging();

3: 只单表? 还有多表!

Integer count = QueryChain.of(sysUserMapper)
        .select(SysUser::getId, c->c.count())
        .from(SysUser.class)
        .join(SysUser.class, SysRole.class)
        .returnType(Integer.TYPE)
        .get();

这样还不简单吗

4:多表性能差? 

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

    private Integer id;

    private String userName;

    private String password;

    @Fetch(source = SysUser.class, property = "roleId", target = SysRole.class, targetProperty = "id")
    private SysRoleVo sysRole;

}


List<SysUserVo> list = QueryChain.of(sysUserMapper)
    .from(SysUser.class)
    .like(SysUser::getUserName, "admin")
    .returnType(SysUserVo.class)
    .list();

//框架自动帮你以非join的方式,加载sysRole;不能动态加条件?

List<SysUserVo> list = QueryChain.of(sysUserMapper)
    .from(SysUser.class)
    .like(SysUser::getUserName, "admin")
    .fetchFilter(SysUserVo::getSysRole, where -> where.eq(SysRole::getName,"test"))
    .returnType(SysUserVo.class)
    .list();

类似强大的功能还很多很多,欢迎前往官网:https://mybatis-mp.cn 查看 !!!

原文链接:https://www.oschina.net/news/318084
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章