🔥一款超级强大的 ORM 框架 mybatis-mp 1.6.7-rc2 发布
官网 :https://mybatis-mp.cn
更新:
- 1:优化代码生成器 
  
- 2:  增强Fetch注解,实现动态select功能 
  
- 3:优化底层代码
为什么推荐 mybatis-mp ?:
mybatis-mp 是一款超级强大的 ORM 框架
1:可多表 join(不再只能单表了)
2:良好 resultMap 结果映射能力(不怕映射错误了)
3:良好的扩展能力:orm+sql 模板 (让 ORM 框架不再死板,扩展性极强)
4:就算 xml 也不用再增加什么插件了,自带 xml 分页
5:强大的各种数据库适配,可在一套代码中 实现多个数据库适配;真正的 ORM hibernate 都做不到
6:极简的 api 设计,让开发者 不再迷糊
7:还很多很多独特优良的设计,只有前往体验,才能感受了;不相信可以试试!!!
1. 单表 +@Fetch 注解 + fetchFilter 方法
@Data
@ResultEntity(SysUser.class) public class SysUserVo {
    private Integer id;
    private String userName;
    private String password;
    private Integer roleId;
    private LocalDateTime create_time;
    @Fetch(source = SysUser.class, property = "roleId", target = SysRole.class, targetProperty = "id")
    private List<SysRoleVo> sysRoles;
}
List<SysUserVO> list = QueryChain.of(sysUserMapper)
        .from(SysUser.class)
        .fetchFilter(SysUserVO::getRoles,where->where.eq(SysRole::getStatus,1))
        .returnType(SysUserVO.class)
        .list();
fetchFilter 方法是对 @Fetch 注解的增强,没有特殊要求一般,可忽略
2. 单表查询
SysUser sysUser = QueryChain.of(sysUserMapper)
        .eq(SysUser::getId, 1)
        .eq(SysUser::getUserName,'admin')
        .get();
3.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();
4. 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 更简单更容易扩展,再也不怕被框架限制了
 关注公众号
关注公众号
					低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 
							
								
								    上一篇
								      智能制造 v3.14.3 发布智能制造一体化管理系统[SpringBoot2 - 快速开发平台],适用于制造业、建筑业、汽车行业、互联网、教育、政府机关等机构的管理。包含文件在线操作、工作日志、多班次考勤、CRM、ERP 进销存、项目管理、EHR、拖拽式生成问卷、日程、笔记、工作计划、行政办公、薪资模块、动态表单、知识库、公告模块、企业论坛、云售后模块、生产模块、系统模块化同步模块等多种复杂业务功能。 Skyeye 云系列所有产品源代码已针对知识星球用户全面开放,有需要的联系我加入啦。 我们这次源代码开放给很多用户带来了疑问,为什么企业版的全部开放源代码?确定是所有源代码?不会有后门吧?等等。 在此,作者声明,源代码确定是全部开放,毫无保留,全部开放。开放的原因是我们修改了我们未来的发展方向,方便大家使用和学习。 智能制造 v3.14.3 发布,发布内容如下: Skyeye 云已加入 Dromara 社区 新增短信验证码的发送,支持阿里短信、钉钉WebHook、华为短信、腾讯云短信。 新增文件上传的支持,支持数据库文件存储、FTP文件、本地文件存储、S3文件存储、SFTP文件存储 新增短信渠道管理、短信模版管理 s... 
- 
							
								
								    下一篇
								      DriverBox v1.1.1 发布,Go 编写的边缘设备接入框架DriverBox v1.1.1 已经发布,Go 编写的边缘设备接入框架。 此版本更新内容包括: 增加lua内置模块: driverbox 定义场景联动 API 模型 迁移设备影子、coreCache 至 internal 包路径。 添加设备时增加 modelName 冲突校验。 优化镜像设备服务 详情查看:https://gitee.com/iBUILDING-X/driver-box/releases/v1.1.1 
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7,CentOS8安装Elasticsearch6.8.6
- MySQL数据库中FOR UPDATE的使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker容器配置,解决镜像无法拉取问题
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程

 
			 
				 
				 
				 
				 
				 
				 
				



 微信收款码
微信收款码 支付宝收款码
支付宝收款码