MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 数据库 / 正文

别mybatis了,国产 ORM 框架 sagacity-sqltoy-5.2.9 发版

2024-11-26 21:06 huorong 数据库 9 ℃ 0 评论

开源地址:

  • github: https://github.com/sagframe/sagacity-sqltoy
  • gitee: https://gitee.com/sagacity/sagacity-sqltoy
  • idea 插件(可直接在idea中检索安装): https://github.com/threefish/sqltoy-idea-plugins

5.2.0~5.2.9 更新内容

  • 1、针对mongo、elasticsearch 查询,修复mongo().entity(entity)对象传参失效问题[bug]
  • 2、MapKit增加了map(key,value)方法,便于构建单值map[优化]
  • 3、优化nanotimeId主键生成策略,避免在一次取10万规模时存在偶发重复[优化]
  • 4、增加OverTimeSqlHandler 提供超时执行sql的采集调用方法: lazyDao.getSqlToyContext().getSlowestSql(10,true)[增强]
  • 5、针对loadAll级联加载关联字段值为null报NPE问题修复[bug]
  • 6、改进save、saveAll等操作的默认值处理机制,通过对象填充默认值代替insert sql中nvl(?,'1') 模式[优化]
  • 7、增加了spring.sqltoy.columnLabelUpperOrLower属性,设置getMetaData().getColumnLabel(index)是否转大小写,默认为default,表示不做处理[优化]
  • 8、支持以流模式获取查询结果[增强]
  • 9、增加将缓存数据以VO/DTO 对象类集合返回方法public <T> List<T> getTranslateCache(String cacheName, String cacheType,Class<T> reusltType);[增强]
  • 10、优化树型表结构封装wrapTreeTableRoute事务问题,将autoCommit=true改为了null不强制提交[优化]
  • 11、getTableColumns(String tableName)方法增加字段:是否是索引、是否unique、索引名称三个属性[优化]
  • 12、支持动态增加缓存翻译配置和缓存更新检测[增强]
  • 13、针对产品化的软件(适配多种数据库:mysql\oracle\postgres\db2\mssql),要求在一个数据库场景下可以测试相同的功能是否可以适配不同数据库[增强]

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",同时查询总记录数和单页数据,大幅提升性能
  • 便利的跨数据库统计计算:数据旋转
  • 便利的跨数据库统计计算:无限极分组统计(含汇总求平均)
  • 便利的跨数据库统计计算:同比环比

Tags:oracle nvl

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言