一款超级强大的 ORM 框架 mybatis-mp 1.6.2 正式发布
官网 :https://mybatis-mp.cn
0.单表+@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注解的增强,没有特殊要求一般,可忽略
1. 单表查询
SysUser sysUser = QueryChain.of(sysUserMapper) .eq(SysUser::getId, 1) .eq(SysUser::getUserName,'admin') .get();
2.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();
3. 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业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
DjangoAdmin 敏捷开发框架 Tornado+Layui 版本 v2.0.0 发布
v2.0.0 更新内容:1、优化登录功能,增强使用体验;2、优化后台主页,规范页面和功能;3、优化个人中心模块,规范数据;4、优化行政区划选择组件;5、优化配置管理模块;6、修复近期用户反馈的问题; 一款 Python 语言基于 Tornado、Layui、MySQL 等框架精心打造的一款模块化、高性能、企业级的敏捷开发框架,本着简化开发、提升开发效率的初衷触发,框架自研了一套个性化的组件,实现了可插拔的组件式开发方式:单图上传、多图上传、下拉选择、开关按钮、单选按钮、多选按钮、图片裁剪等等一系列个性化、轻量级的组件,是一款真正意义上实现组件化开发的敏捷开发框架。 软件信息 软件名称:DjangoAdmin 敏捷开发框架 Tornado+Layui 版本 官网网址:https://www.djangoadmin.cn 文档网址:http://docs.tornado.layui.djangoadmin.cn 演示地址:http://manage.tornado.layui.djangoadmin.cn 核心组件 单图上传组件 {{ "avatar|头像|90x90|建议上传尺寸45...
- 下一篇
ZUI 3 发布,一款全新的开箱即用的原生 UI 框架
ZUI 3是一个开源的UI组件库,同时也是开源项目管理系统「禅道项目管理软件 」的基础UI框架。ZUI 3支持最大限度的定制,不依赖任何其他JS框架,可以在任何Web应用中通过原生的方式使用。 在ZUI 3中主要包含如下内容: 统一的UI配置:基于CSS变量实现的全局UI配置,为组件提供了统一的风格基础,支持深色模式,方便定制主题; 丰富的CSS工具类:基于Tailwind CSS提供了丰富的CSS工具类,包括特别的语义化外观工具类,轻松实现常见布局、文字排版、动画、外观定义; 大量实用的组件:包括必备的纯CSS实现的基础组件,例如按钮、表单、导航、卡片、表格等;还有基于JS 实现的功能强大的组件,包括下拉菜单、对话框、数据表格、文件选择等。 相比较ZUI之前的版本,ZUI 3不依赖具体的框架,所有CSS工具类开箱即用,所有JS组件支持原生调用。你可以直接在浏览器中引用整个JS和CSS,也打包定制自己的组合版本。 欢迎大家访问ZUI 3官网:https://openzui.com/下载试用! 首页 首页-深色 颜色配置 颜色配置-深色 CSS 工具类 CSS 工具类-深色 按钮组件 按...
相关文章
文章评论
共有0条评论来说两句吧...