🔥※【mybatis-mp】一款真正 / 你错过的好用的 ORM 框架:1.7.1-RC 发布!
官网 :https://mybatis-mp.cn
更新:
- 1:InsertChain,UpdateChain 增加null值为SQL NULL处理
int cnt = UpdateChain.of(sysUserMapper) .set(SysUser::getUserName, null, true) .eq(SysUser::getId, 1) .execute();
InsertChain.of(mapper) .insert(SysUser.class) .field(SysUser::getValue1, SysUser::getValue2, SysUser::getValue4, SysUser::getCreateTime) .values(Arrays.asList("a", 1, null, LocalDateTime.now()), true) .values(Arrays.asList("a", 2, 1, LocalDateTime.now())) .execute();
为什么推荐 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业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
XL-LightHouse 2.2.8 发布,开源、免费、可商用的数据指标管理系统
更新内容: 1、增加了Http数据上报和数据查询API接口;2、增加了调用方管理功能,对外API统一使用调用方进行授权验证,并可以在Web端进行限流管理、查看各接口的调用情况等;3、修复了limit指标历史版本展示数据丢失的问题;4、将各列表页按钮的交互方式由打开新标签页统一调整为当前页面,并增加后退按钮,点击返回列表页时,列表页原来的分页和筛选数据可以保持,进一步提升Web端的交互体验;5、修复了个别样式问题;6、优化文档,增加了更详细的HelloWorld操作示例;7、增加了对商业版JS页面引用功能的底层数据兼容;8、增加前端编译时的内存参数设置,避免linux系统上编译项目时出现内存溢出的问题;9、增加了maven打包编译时对jvm版本的验证; 概述 XL-LightHouse 是针对繁杂的数据统计需求而开发的一套集成了数据写入、数据运算和数据可视化等一系列功能,支持超大数据量,支持超高并发的【通用型流式大数据统计系统】。 XL-LightHouse 目前已涵盖了各种流式数据统计场景,包括 count、sum、max、min、avg、distinct、topN/lastN 等多种...
- 下一篇
GrowthStore 0.1.2 更新发布
GrowthStore 本次更新主要是修复对最新版本的依赖的更新。同时,增加了几个用于帮助开发的几个测试工具。 1、添加了几个常用的测试工具,用于帮助开发。如Rhai脚本测试,JSONPath测试等。2、更新到最新的依赖支持。 本次的更新在很大程度提升了软件的稳定性。 同时,GrowthStore 的项目网站 (https://storex.siline.cn) 中开放了基于 GrowthStore 的一些应用案例,后续会持续增加类似使用了 GrowthStore 的案例。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS7安装Docker,走上虚拟化容器引擎之路