🔥※【mybatis-mp】1024 coding 好用的 ORM 框架:1.7.2 正式发布!
官网 :https://mybatis-mp.cn
更新:
- 1:代码生成器 修复默认值缺少 " 问题
- 2:代码生成器兼容 表/列备注 带有换行符问题
为什么推荐 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业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
1024程序员节 | LFOSSA限时特惠来袭
在这个数字时代,每一位程序员都是构建未来世界的建筑师。1024程序员节,一个专属于你们的节日,我们向无尽的代码行和改变世界的创新精神致敬。在这一天,我们不仅是庆祝,更是为了支持和鼓励技术的追求和创新的探索。 在科技的世界里,每一次创新都是一场搏斗,每一次代码的编写都是对未来的一次挑战。正如习近平总书记所说:“人生能有几回搏”,这句话激励着每一位程序员在技术的海洋中勇往直前。LF开源软件学园(LFOSSA)理解这种拼搏精神,我们致力于为每一位技术爱好者和专业人士提供最前沿、最专业的学习资源。因此,在这个特别的节日里,我们决定开启限时特惠活动,回馈给每一位热爱编程、追求卓越的程序员。 LFOSSA1024程序员节 活动时间: 10月24日00:00-10月27日23:59 参与方式:直接进入 LFOSSA 官网,在结账时系统将自动为您的订单应用折扣价格。 活动说明:此活动适用于在2024年10月24日上午00:00:00至2024年10月27日下午23:59:59 ,在此期间:所有产品一经售出不予退还,请仔细核对订单信息后付款;同一优惠产品每个用户ID只能享受一次优惠价格,购买超过1单,超...
- 下一篇
FSF 起草有关自由机器学习应用的定义文本
自由软件基金会 (FSF) 宣布开始关注机器学习(ML)应用的自由。该组织正在制定一份自由机器学习应用程序的标准声明,该声明将要求软件以及原始训练数据和相关脚本授予用户四项自由。 该声明由 FSF 董事会成员、员工和管理层组成的工作组负责,同时咨询了多位外部专家。在历经几个月的讨论后,工作组目前正在起草构成自由机器学习应用程序定义的确切文本。 免费 ML 应用程序中包含的所有软件都必须向每位用户提供定义自由软件的四项自由。这既适用于处理训练数据的软件,也适用于将模型参数解释为提示上下文以产生人类可用输出的软件。这是必要的,但还不够。此外,根据我们目前对 ML 应用程序的理解,我们认为,除非 ML 应用程序的所有训练数据和处理它的相关脚本都尊重所有用户并遵循四项自由,否则我们不能说 ML 应用程序“is free”。此外,授予用户四项自由可能会转化为一项要求,即 ML 应用程序的发布包括代表其训练的模型参数,并且允许用户使用和重新分发这些参数及其修改版本。 根据定义,如果机器学习应用程序不能向所有用户提供这四项自由,那么它们就是非自由的,即使它们的软件组件是自由的。 FSF 认为所有非自...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS6,CentOS7官方镜像安装Oracle11G