当前位置:首页 > 技术文章 > 正文内容

别mybatis了,国产ORM 框架 sagacity-sqltoy-5.1.20、4.19.11 发版

zonemu1周前 (08-16)技术文章9

常看到一些文章介绍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;
  • 极致的分页,同样帮助你实现查询的性能大幅提升
  1. 快速分页:@fast() 实现先取单页数据然后再关联查询,极大提升速度
  2. 分页优化器:page-optimize 让分页查询由两次变成1.3~1.5次(用缓存实现相同查询条件的总记录数量在一定周期内无需重复查询
  3. sqltoy的分页取总记录的过程不是简单的select count(1) from (原始sql);而是智能判断是否变成:select count(1) from 'from后语句', 并自动剔除最外层的order by
  4. sqltoy支持并行查询:parallel="true",同时查询总记录数和单页数据,大幅提升性能
  • 便利的跨数据库统计计算:数据旋转
  • 便利的跨数据库统计计算:无限极分组统计(含汇总求平均)
  • 便利的跨数据库统计计算:同比环比

相关文章

崩溃!3 道 React 面试必卡题,吃透稳过金九银十

凌晨三点还在对着 “React 组件为什么重复渲染” 抓耳挠腮?别慌!今天挑出 3 道让 90% 候选人卡壳的高频题,全是大厂面试官挖的 “坑”,手把手教你见招拆招,看完直接装进面试 “弹药库”!先问...

Vue基础(vue基础组件文件名符合规范的是)

Vue 是什么,它的核心特点有哪些?Vue 是一款渐进式 JavaScript 框架,它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助开发者用...

gitlab简单搭建与应用(gitlab怎么用)

一、gitlab1、简介GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。与Github类似,GitLab...

用IDEA开发如何用Git快速拉取指定分支代码?

1,准备空的文件夹,git init2,关联远程仓库,git remote add origin gitlab地址3,拉取远程分支代码,git pull origin 远程分支名再用IDEA打开项目即...

web前端入门:css+html5+javascript同时学可以吗?

HTML+CSS+JS是前端基础核心知识,肯定是都要学的。在web前端中,HTML是结构标准,CSS是样式标准,JS是行为标准,三者缺一不可。说的直白点,HTML就是骨架,CSS就是皮肤,JS就是灵魂...

HTML5与APP的抉择(h5与app的区别)

同为当下炙手可热的技术,围绕APP和HTML5难免少不了各种争辩。而在“互联网+”时代,许多面临转型的传统企业,也在选择转型工具时,陷入了HTML5或APP的纠结抉择之中……到底该选择HTML5还是A...