您现在的位置是:首页 > 文章详情

极致性能 sqltoy-orm-4.12.9 发版

日期:2020-06-12点击:405

开源地址:

更新内容

1、初步支持tidb,建议可以初步试用
2、针对elastic升级fastjson到1.2.70版本,修复安全漏洞,同时升级spring依赖版本
3、优化少量代码
4、初步增加guassdb、oceanbase的方言支持,希望有相关使用者协助测试!
5、quickvo 将字段对应数据库原始类型作为vo属性备注输出,便于调整类型匹配

sqltoy特点说明:

  • 支持mysql、postgresql、db2、oracle、sqlserver、sqlite、clickhouse、elasticsearch、mongodb等
  • 具有JPA模式的CRUD功能(即CRUD无需写sql),无需写Dao,sqltoy提供了SqlToyLazyDao,同时提供了quickvo从数据库生成POJO。
  • 根本上杜绝了sql注入问题
  • 最科学的sql编写方式

* sqltoy的sql编写(支持嵌套)

 select * from sqltoy_device_order_info t where #[t.ORDER_ID=:orderId] #[and t.ORGAN_ID in (:authedOrganIds)] #[and t.STAFF_ID in (:staffIds)] #[and t.TRANS_DATE>=:beginDate] #[and t.TRANS_DATE<:endDate] 

* mybatis同样功能实现

 select * from sqltoy_device_order_info t <where> <if test="orderId!=null"> and t.ORDER_ID=#{orderId} </if> <if test="authedOrganIds!=null"> and t.ORGAN_ID in <foreach collection="authedOrganIds" item="order_id" separator="," open="(" close=")"> #{order_id} </foreach> </if> <if test="staffIds!=null"> and t.STAFF_ID in <foreach collection="staffIds" item="staff_id" separator="," open="(" close=")"> #{staff_id} </foreach> </if> <if test="beginDate!=null"> and t.TRANS_DATE>=#{beginDate} </if> <if test="endDate!=null"> and t.TRANS_DATE<#{endDate} </if> </where>
  • 缓存翻译大幅提升性能,减少多表关联,让sql直观可维护

  • 最高等级的分页优化

  • 支持用算法代替sql实现行列转换、同比环比、分组汇总等

  • 支持分库分表
  • sqltoy支持跨数据库函数自适应:一套sql可以自适应多种数据库
  • 提供了5种默认的非数据库相关的主键策略
 1、shortNanoTime 22位有序安全ID,格式: 13位当前毫秒+6位纳秒+3位主机ID 2、nanoTimeId 26位有序安全ID,格式:15位:yyMMddHHmmssSSS+6位纳秒+2位(线程Id+随机数)+3位主机ID 3、uuid:32 位uuid 4、SnowflakeId 雪花算法ID 5、redisId 基于redis 来产生规则的ID主键
  • 提供了通用字段赋值处理

  • 提供了树形表的统一处理机制

  • sql文件更新自动重载,便于开发阶段无需重启应用
  • 慢sql统计功能
  • 便于跟其他拓展平台集成,如报表平台、配置化服务平台
 public class SqlToyContext implements ApplicationContextAware {    // 省略其他代码   /**      * @todo 提供可以动态增加解析sql片段配置的接口,并返回具体id,用于第三方平台集成,如报表平台等      * @param sqlSegment      * @return      * @throws Exception      */     public synchronized SqlToyConfig parseSqlSegment(Object sqlSegment) throws Exception {         return scriptLoader.parseSqlSagment(sqlSegment);     } }

 

原文链接:https://www.oschina.net/news/116381/sqltoy-orm-4-12-9-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章