🔥🔥🔥超级 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条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS关闭SELinux安全模块
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Crontab安装和使用
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7,CentOS8安装Elasticsearch6.8.6