极致查询性能 sqltoy-orm-4.12.8 发版增加对国产达梦数据库支持
更新内容
1、主要增加对国产达梦数据库的支持(目前除updateFetch:单次交互完成锁记录、修改、返回结果报游标错误外其他功能都通过测试)
2、修复因增加oceanBase方言导致sqlite方言未放入方言池中产生的bug
3、增加findEntity分页功能,便于单表查询直接可以链式代码中完成
4、优化Query()链式查询增加分页,同时将Page()链式分页代码标注为作废
5、优化一些注释和日志输出
开源地址:
- github: https://github.com/chenrenfei/sagacity-sqltoy
- gitee: https://gitee.com/sagacity/sagacity-sqltoy
- idea 插件(可在market直接检索sqltoy安装): https://gitee.com/threefish/sqltoy-idea-plugins
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统计功能
- 便于跟其他拓展平台集成,如报表平台、配置化服务平台
```java
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);
}
}
```

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
JFinal-layui v1.4.3 增添新动力--报表设计器、可以编辑表格
JFinal-layui 极速开发企业应用管理系统,是以 JFinal+layui 为核心的企业应用项目架构,利用 JFinal 的特性与 layui 完美结合,达到快速启动项目的目的。让开发更简单高效,即使你不会前端,也能轻松掌握使用。 JFinal-layui v1.4.3 新增UReport2报表设计器、扩展layui表格,编辑录入、多表录入。URport2报表设计器让JFinal-layui增添新的动力,有了它,就可以轻松实现业务报表功能!扩展layui表格,实现类似于进销存系统的数据录入功能,添加行,编辑,数据多元化,多表录入都一一解决了!此次新增的两个功能,就是JFinal-layui的左膀右臂,两把利剑,为你劈波斩浪,可以让你在业务开发中少走弯路! v1.4.3更新内容详情: 一、UReport2报表设计器 UReport2是一个开源的可视化报表设计器,功能强大,操作简单,可以实现复杂的报表统计,有各种各样的导出和打印功能,支持导入Excel表格! 1、报表设计器 2、设计一个简单的用户列表展示 3、用户报表预览 二、可编辑表格 扩展了layui的表格...
- 下一篇
官宣!ASF官方正式宣布Apache Hudi成为顶级项目
官宣!ASF官方正式宣布Apache Hudi成为顶级项目 马萨诸塞州韦克菲尔德(Wakefield,MA)- 2020年6月 - Apache软件基金会(ASF)、350多个开源项目和全职开发人员、管理人员和孵化器宣布:Apache Hudi正式成为Apache顶级项目(TLP)。在投票表决Hudi毕业时,Hudi总共获得了19票binding(其中包括ASF联合创始人Jim Jagielski的一票),21票non-binding。 Apache Hudi(HadoopUpsertsDelete andIncremental)数据湖技术可在Apache Hadoop兼容的云存储和分布式文件系统之上进行流处理。该项目最初于2016年在Uber开发(代号和发音为"Hoodie"),于2017年开源,并于2019年1月提交给Apache孵化器。 Apache Hudi项目VP Vinoth Chandar说:“在孵化器中学习和发展Apache之道是一种有益的体验,作为一个社区,我们对我们共同推动该项目走了多远依然感到谦卑,与此同时,对即将到来的挑战感到兴奋。” Apache Hudi用于...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS关闭SELinux安全模块
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程