一款超级强大的 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条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 设置Eclipse缩进为4个空格,增强代码规范
- 2048小游戏-低调大师作品
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- MySQL数据库在高并发下的优化方案