🔥🔥🔥超级 ORM 框架 mybatis-mp 1.6.7 正式发布
官网 :https://mybatis-mp.cn
更新:
- 1: 优化代码生成器
- 2:增强 Fetch 注解 (实现可动态 select)
- 3:优化底层代码
- 4:修复多个不同数据库无法识别 db 类型的问题
- 5:修复 insert select 在 ORACLE 环境异常问题
- 6: InsertChain 增加新 insert select 方法
为什么推荐 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业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Apache Cassandra 5.0 正式 GA,带来向量搜索、JDK 17 支持、存储附加索引等功能
ApacheCassandra 5.0 正式 GA 了。 Cassandra 5.0 标志着 Cassandra 3.x 的终结。几个亮点: 1. 存储附加索引(SAI) SAI 是此版本中最受期待的功能,它彻底改变了查询灵活性和性能,尤其是对于大型数据集。Cassandra 中,在数据建模中使用主键之外的列可能会受到限制。SAI 更类似于在关系数据库中创建的内容,不过这可是在 Cassandra 的规模上。WHERE 子句将变得更加有用。 2. Trie memtables 和 trie SSTables 这些是存储和检索数据的低层优化,在内存使用和存储效率方面产生了极高的性能提升,并且在用户侧,无需更改数据模型或使用新运算符。官方表述是:在大规模上情况下,Java 代码比任何 C++ 代码都更高效。 3. JDK 17 支持 Cassandra 一直停留在 JDK8 的旧版 Java 支持中。随着 5.0 的到来,Cassandra 升级到 JDK 17,带来的性能提升在某些情况下最高可达 20%。这些提升的根本原因在于 JDK17 如何管理内存。Cassandra 是一个高容量应...
- 下一篇
别再 mybatis 了,融合 JPA 和超强查询的 sqltoy-orm 5.6.22 发版
开源地址: github:https://github.com/sagframe/sagacity-sqltoy gitee:https://gitee.com/sagacity/sagacity-sqltoy idea 插件 (可直接在 idea 中检索安装):https://github.com/imyuyu/sqltoy-idea-plugin sqltoy 脚手架项目:https://gitee.com/momoljw/sss-rbac-admin sqltoy lambda 项目:https://gitee.com/gzghde/sqltoy-plus 更新内容(5.6.19~5.6.22) 1、修复同比环比计算中除数跟零的对比缺陷(BigDeciaml("0.00") 不等于BigDeciaml.ZERO)(5.6.22) 2、修复跨数据库适配Nvl函数,排除coalesce匹配,coalesce各种数据库都支持且非单纯的ifnull/nvl逻辑(5.6.21) 3、修复单个查询封装成非POJO对象层级关系时,未设置notNullField的缺陷(5.6.20) 4、pos...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7设置SWAP分区,小内存服务器的救世主
- Hadoop3单机部署,实现最简伪集群
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题