别mybatis了,国产ORM 框架 sagacity-sqltoy-5.1.20、4.19.11 发版
常看到一些文章介绍sql优化、行列转化、跨数据库适配等,还有大量介绍mybatis动态sql的,由衷感慨,我真的建议你去了解一下sqltoy-orm!其实你想要的现实中早都有很好的解决机制!
开源地址:
- github: https://github.com/sagframe/sagacity-sqltoy
- gitee: https://gitee.com/sagacity/sagacity-sqltoy
- idea 插件(可直接在idea中检索安装): https://github.com/threefish/sqltoy-idea-plugins
更新内容
1、升级log4j2依赖版本为2.15.0
2、sql补全优化,如from table where xxx 情况下自动补全select *
3、增加一些容错校验判断
周末因个别用户使用偌依(ruoyi)集成sqltoy,修改了一个简单的字典类别查询,真是由衷的感慨,都说java没有好的ORM框架,核心是mybatis代表了大家!
sqltoy特点介绍:
- sqltoy的核心构建思想
- sqltoy的对比mybatis(plus)和fluent mybatis的核心点:查询语句编写、可阅读性、可维护性
- 对象化crud是基础,但sqltoy有针对性的改进:update、updateSaveFetch、updateFetch等
- sqltoy的缓存翻译,大幅减少表关联简化sql,让你的查询性能成几何级提升
除xml配置模式外,也支持注解模式
@Translate(cacheName = "dictKeyName", cacheType = "DEVICE_TYPE", keyField = "deviceType")
private String deviceTypeName;
@Translate(cacheName = "staffIdName", keyField = "staffId")
private String staffName;
- 极致的分页,同样帮助你实现查询的性能大幅提升
- 快速分页:@fast() 实现先取单页数据然后再关联查询,极大提升速度
- 分页优化器:page-optimize 让分页查询由两次变成1.3~1.5次(用缓存实现相同查询条件的总记录数量在一定周期内无需重复查询
- sqltoy的分页取总记录的过程不是简单的select count(1) from (原始sql);而是智能判断是否变成:select count(1) from 'from后语句', 并自动剔除最外层的order by
- sqltoy支持并行查询:parallel="true",同时查询总记录数和单页数据,大幅提升性能
- 便利的跨数据库统计计算:数据旋转
- 便利的跨数据库统计计算:无限极分组统计(含汇总求平均)
- 便利的跨数据库统计计算:同比环比