🔥一款超级强大的 ORM 框架 mybatis-mp 1.6.5 正式发布
官网 :https://mybatis-mp.cn
更新:
- 1:消除并发下ID自增器警告
为什么推荐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业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
WAL-G 3.0.3 发布,数据库恢复工具
WAL-G 是 WAL-E 的继承者,是一款用于恢复 PostgreSQL、GreenplumDB、MySQL/MariaDB、MongoDB、etcd 和其他一些数据库的归档数据库的工具。 WAL-G 3.0.3 现已发布,该版本的主要特点是完全支持 OrioleDB。自 v0.1.3 起,WAL-G 就支持 block-level增量备份,但之前它将 OrioleDB 数据视为未知文件的集合。现在,WAL-G 可以了解 OrioleDB 是否安装在集群中,并能高效地备份 OrioleDB 数据。 此版本还包含两个用于 Postgres 的新命令:catchup-send和catchup-receive。当你需要在不向存储推送新备份的情况下更新滞后的副本时,这些命令非常有用。 公告称,“本质上,它们的工作原理与 pg_rewind 类似,但正好相反。也许我们应该把它们改名为 pg_wind。” 新版本还为 redis 添加了基于 aof 的备,以及缓解了依赖项中的几个 CVE(CVE-2023-39325、GHSA-9763-4f94-gfch)并修复了各种错误。 更多详情可查看:h...
- 下一篇
阿里云最新财报:AI 收入实现三位数增长
8月15日晚间,阿里巴巴集团发布最新季度业绩,AI推动阿里云重回增长,季度营收增长6%至265.49亿元,其中AI相关产品收入实现三位数增长,公共云业务实现两位数增长。同时,阿里云利润大涨,经调整EBITA利润同比增长155%,单季度EBITA利润达到23.37亿元。 该季度,阿里云聚焦“AI驱动,公共云优先”战略,持续扩大技术及规模优势。财报显示,阿里云的外部收入(不包含阿里巴巴关联公司用云收入)同比增长也达到6%,主要得益于AI推动相关产品采用率增加,公共云业务实现两位数增长。其中,AI相关产品收入在上个季度实现三位数增长之后,在该季度也持续保持三位数增长。 同时,阿里云利润大涨。该季度内,阿里云经调整后EBITA收入同比增长155%,达到人民币23.37亿元,而2023年同期为人民币9.16亿元。财报表示,这一增长主要是由于专注于公共云战略,并提升运营效率,但利润增长部分被对客户和技术的持续投资所抵消。 财报强调,阿里云将继续投资于客户和技术,特别是投入建设AI技术和基础设施,以推动AI应用的云计算采用率,并保持阿里云的市场领先优势。 技术进展方面,该季度内阿里云发布了全球性能最...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS关闭SELinux安全模块
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池