国产nosql数据库,国产 sqltoy-orm 5.2.61 发版,别再 mybatis 以及 plus/plus 了

科技资讯 投稿 7800 0 评论

国产nosql数据库,这样的标题不少人认为sqltoy在踩mybatis,搞一踩一捧模式,所以开篇强调一下!

    大家为什么选择mybatis,而不选JPA?不就是因为mybatis写sql灵活吗?可以自由的优化
  • sqltoy真正值得肯定的是sql的编写,如果大家认为sqltoy的sql写法更科学直观便于后期维护那算不算直接否定了mybatis的核心价值点?

开源地址:

    github: https://github.com/sagframe/sagacity-sqltoy
  • gitee: https://gitee.com/sagacity/sagacity-sqltoy
  • idea 插件 (可直接在 idea 中检索安装):  https://github.com/threefish/sqltoy-idea-plugins
  • sqltoy 脚手架项目:https://gitee.com/momoljw/sss-rbac-admin
  • sqltoy lambda 项目: https://gitee.com/gzghde/sqltoy-plus

更新内容

1、增加默认支持字段枚举类型(无需写typeHandler:取key的方法要求:getValue\getKey\getCode\getId四者之一)
2、支持存储过程返回多个集合

/** * @TODO 存储过程调用,outParams可以为null * @param storeSqlOrKey 可以是xml中的sqlId 或者直接{call storeName (?,?)} * @param inParamValues * @param outParamsType 可以为null * @param resultTypes 可以是VO、Map.class、LinkedHashMap.class、Array.class,null(二维List) * @return StoreResult */ public StoreResult executeMoreResultStore(String storeSqlOrKey, Object[] inParamValues, Integer[] outParamsType, Class... resultTypes);

sqltoy 的关键优势:

//------------------了解 sqltoy的关键优势: -------------------------------------------------------------------------------------------*/ //1、最简最直观的sql编写方式(不仅仅是查询语句),采用条件参数前置处理规整法,让sql语句部分跟客户端保持高度一致 //2、sql中支持注释(规避了对hint特性的影响,知道hint吗?搜oracle hint),和动态更新加载,便于开发和后期维护整个过程的管理 //3、支持缓存翻译和反向缓存条件检索(通过缓存将名称匹配成精确的key),实现sql简化和性能大幅提升 //4、支持快速分页和分页优化功能,实现分页最高级别的优化,同时还考虑到了cte多个with as情况下的优化支持 //5、支持并行查询 //6、根本杜绝sql注入问题 //7、支持行列转换、分组汇总求平均、同比环比计算,在于用算法解决复杂sql,同时也解决了sql跨数据库问题 //8、支持保留字自动适配 //9、支持跨数据库函数自适配,从而非常有利于一套代码适应多种数据库便于产品化,比如oracle的nvl,当sql在mysql环境执行时自动替换为ifnull //10、支持分库分表 //11、提供了取top、取random记录、树形表结构构造和递归查询支持、updateFetch单次交互完成修改和查询等实用的功能 //12、sqltoy的update、save、saveAll、load 等crud操作规避了jpa的缺陷,参见update(entity,String...forceUpdateProps)和updateFetch //13、提供了极为人性化的条件处理:排它性条件、日期条件加减和提取月末月初处理等 //14、提供了查询结果日期、数字格式化、安全脱敏处理,让复杂的事情变得简单,大幅简化sql或结果的二次处理工作 //-----------------------------------------------------------------------------------*/

sqltoy 特点介绍:

    sqltoy 的核心构建思想

    sqltoy 的对比 mybatis (plus) 的核心点:查询语句编写、可阅读性、可维护性

    对象化 crud 是基础,但 sqltoy 有针对性的改进:update、updateSaveFetch、updateFetch 等

    sqltoy 的缓存翻译,大幅减少表关联简化 sql,让你的查询性能成几何级提升

阐述sqltoy为什么秒杀mybatis(plus)

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

6、扩展集成

比 Protocol Buffers 快无限倍,开源十年后 Cap'n Proto 1.0 终发布 华为正式发布 HarmonyOS 4 华中科技大学博士后复现 LK-99 磁悬浮现象 miniblink 108 版本成功编译,全球最小 Chromium 内核 龙芯中科研制成功新一代处理器龙芯 3A6000 ChromeOS 将浏览器和操作系统拆分独立 Vim 之父 Bram Moolenaar 因病逝世 哔哩哔哩(B 站)站又崩了 Nim v2.0 正式发布,命令式编程语言 AWS 明年开始对 IPv4 公网地址收取费用

编程笔记 » 国产nosql数据库,国产 sqltoy-orm 5.2.61 发版,别再 mybatis 以及 plus/plus 了

赞同 (32) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽