🔥🔥🔥超级 ORM 框架 mybatis-mp 预览版 1.6.8-rc 发布
官网 :https://mybatis-mp.cn
更新:
- 1: 增加sql buidler构建干预口,让你可以更好的扩展sql
为什么推荐 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业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
程序员「专属」食谱:用 Python “烘焙”中秋月饼
自古以来,月饼作为吉祥与团圆的象征,是中秋节必不可少的节日美食。它的形状意味着「团圆」,它的香气传递着「思念」。每一次品尝都寄托着深深的牵挂,每一次分享都传递着美好的情谊。 在这个特别节日到来之际,PieCloudDB 社区将为大家奉上一份「程序员」专属月饼制作「食谱」,手把手教大家如何用 Python 绘制一个独属于你的中秋月饼。 在制作月饼之前,需要准备好以下内容: Python:V3.10.4 或以上版本 Turtle:V0.0.1 我们将使用 Turtle 来进行月饼的制作,Turtle 库是 Python 中常用的绘制图像的函数库,俗称海龟绘图,通过编写代码,指挥一只虚拟的"海龟"在一个画布上进行移动和转向,完成绘图。 在 Python 环境中导入所需的 Turtle 库后,我们的准备工作就完成啦~ import turtle as t 接下来,和我们一起动手制作月饼吧!制作过程将分为五步进行: 步骤 1:制作"饼皮" 首先,我们来制作月饼的"饼皮"。为了让这个特别的月饼更加美观,我们将"饼皮"分为橘色和白色两层,并在边缘处进行圆点装饰。 def Pattern(n...
- 下一篇
DBErp 进销存系统 V1.2 Release 240914 发布
DBErp基于 Laminas+ doctrine2 开发的一套进销存系统。 系统框架 Laminas (Zendframework 3) Doctrine 2 环境要求 服务器系统Linux、Unix、Mac、Windows、其他 web 服务器Apache、Nginx、IIS、其他 MySQL 版本>= 5.6 PHP 版本>= 7.4 PHP 扩展 | 库 PDO SSL(openssl) Fileinfo intl Curl GD2 系统空间>= 500M 更新日志: 修正 采购订单自定义打印中的公司logo 优化 采购模块和销售模块加入时间检索(本次更新以后新添加的采购或者销售订单才可以时间检索) 优化 安装时,默认设置货币为人民币 优化 管理员添加备注信息 优化 系统中包含的ajax添加内容处理,加入权限控制 优化 插件管理 在线文档地址:https://docs.dberp.net/ 演示地址:https://demo.dberp.com.cn/ 下载地址:https://download.loongdom.com.cn/dberp/V1.2/DBErp...
相关文章
文章评论
共有0条评论来说两句吧...