sqltoy(orm框架)
v4.18.13 官方版- 软件大小:11.1 MB
- 更新日期:2021-04-20 10:43
- 软件语言:简体中文
- 软件类别:编程工具
- 软件授权:免费版
- 软件官网:待审核
- 适用平台:WinXP, Win7, Win8, Win10, WinAll
- 软件厂商:
软件介绍 人气软件 下载地址
sqltoy是一款orm框架,如果你会使用这种框架就可以直接下载这款软件使用,软件基于Java编辑,满足大部分用户开发需求,让用户可以通过orm框架快速部署数据库相关的功能,提供丰富的SQL查询功能,可以在代码中查询SQL,可以基于表单对象查询sql,可以对查询到的内容编辑,直接在软件编辑新的sql,提供更简单的sql写法,让sql更容易理解,后期调整也比较简单,添加到数据库就可以直接执行,比mybatis编辑的sql要简单得多,写法上也比较清晰,方便后期维护,这款框架比mybatis强大得多,如果你需要Java类型的orm框架就下载吧!
软件功能
基于java语言开发的一套数据库ORM框架
同时拥有hibernate对象操作的简洁性、以及比mybatis(或plus)等更强大、更简洁的sql查询
最为贴切项目实践,提供了绝大多数用户项目过程中的最直接处理问题的方法调用,除了常用的查询和分页外,还提供如:
1、取随机记录、取top记录(固定数量和按比例)
2、锁记录修改并返回结果updateFetch
3、树形表结构递归查询,利用表结构设计实现无关数据库的递归查询
4、行列互转\无限级的分组汇总平均,极为简单的sql加短短的配置代替:晦涩冗长还自以为很牛的大sql
软件特色
sqltoy-orm是比hibernate+myBatis更加贴合项目的orm框架(依赖spring),具有jpa式的对象CRUD的同时具有比myBatis(plus)更直观简洁性能强大的查询功能。 支持以下数据库:
oracle 11g+
db2 9.5+,建议从10.5 开始
mysql(mariadb/innosql)支持5.6、5.7、8.0 版本
postgresql(greenplum) 支持9.5 以及以上版本
sqlserver 2012+
sqlite
DM达梦数据库
elasticsearch 只支持查询,版本支持5.7+版本,建议使用7.3以上版本
clickhouse
dorisdb
oceanBase
guassdb
tidb
kingbase
mongodb (只支持查询)
sybase_iq 支持15.4以上版本,建议使用16版本
官方教程
1.查询分库分表定义分库分表策略,参见sqltoy-showcase范例下resources/spring/spring-sqltoy-sharding.xml 配置
查询使用范例,参见sql配置上的sharding-datasource 和sharding-table
2.对象操作分库分表涉及增加、修改、删除操作的分库需要用到分布式事务管理,
使用jta进行事务管理
在对象上进行注解,sharding配置文件参见:src/java/resources/spring-sqltoy-sharding.xml
进行对象保存操作
弹性支持
1.集成背景elasticsearch具有极高的查询效率,十亿级上百个分段的集合查询基本上在0.2秒(pcie存储+占用内存,2017年背景)
极为适合大规模流水数据查询,某些客户过往交易记录等
具有极强的横向扩展能力
一般只用于查询,通过logstash或spark,flink等方式将数据ETL到elastic上
sqltoy支持es就是利用es的极高的查询效率来纠正关系型数据库大规模查询性能问题,解决当初拉卡拉数据平台日均千万笔(按年存储即30亿以上规模)的交易查询性能(传统关系型数据库各种策略用尽都无法跟es的性能想比)。
2.配置集成,请参见trunk / sqltoy-showcase / src / java / main / resources / spring / spring-sqltoy.xml
pom要增加httpclient,elastic-rest-client的依赖
3.查询编写,使用eql模式,弹性支持sql和json模式,通过mode = sql来区分是否使用sqlsrc / java / main / com / sagframe / sqltoy / showcase目录下的sqltoy-showcase.sql.xml文件
elastic只支持单集合查询
缓存翻译,数据旋转等用法跟普通sql一致
4.java调用,参见测试目录下的ElasticCaseServiceTest,通过sqlToyLazyDao.elastic()调用
常见问题
1. sqltoy的sql只能写在xml中吗?
不是的,sql可以直接写在代码中也可以通过@ListSql和@PageSql两个注解完成(但一般很少用注解)。
sql参数的名字是sqlOrNamedSql表示可以直接是sql也可以是xml中定义的sql id。
@todo通过sql获取单条记录
@param sqlOrNamedSql直接代码中写的sql或xml中定义的sql id
@param paramsNamed
@param paramsValue
@param voClass
@返回
/ 上市 T loadBySql(final String sqlOrNamedSql,final String [] paramsNamed,final Object [] paramsValue,
2. sqltoy的查询结果只能是VO list吗?
不是的,所有的查询ClassvoClass这里分1,voClass常规的vo类型; 2,null表示ArrayList; 3,HashMap.class \ LinkedHashMap.class```/ **
@TODO查询集合
@param
@param SQL
@param paramsNamed
@param paramsValue
@param voClass分零(返回二维列表),voClass,HashMap.class,LinkedHashMap.class等
@返回
/受保护 列表 findBySql(final String sql,final String [] paramsNamed,final Object [] paramsValue,
3. sqltoy查询#[]支持嵌入吗?
sqltoy动态操作#[]是支持嵌套的且是无限层嵌套的,可以#[和t.status =:status#[和t.xxx =:xxx]]
4. sqltoy-orm可以不用写sql完成crud吗?
orm的概念其实就是基于对象完成对数据库的操作,sqltoy-orm提供了基于对象的数据库操作,从而休眠了jpa!
5.如何开始?
请参照sqltoy-showcase / tools / quickvo先通过数据库产生POJO,然后参照showcase下面/ src / test / java下面的CrudCaseServiceTest!
6. quickvo支持yml配置文件吗?
不支持,不用纠结这个转移,quickvo只是一个工具,如果项目使用的是yml则可以给quickvo单独一个属性配置文件,或者直接通过quickvo.xml中的属性来定义,如下
7. quickvo提示没有匹配到表生成vo
请检查catalog或schema配置是否正确,且大小写正确正确!oracle,sqlServer,postgresql用schema,mysql \ DB2则需配置:catalog!具体可以了解jdbc的conn.getMetaData()。getTables(catalog,schemaPattern,tablePattern ,types)方法规范
8.为什么SqlToyLazyDao保存或更新操作数据库未发生改变?
这个属于事务配置文件,lazyDao应该在服务层调用,服务层上应该配置事务,事务配置可以注解模式,也可以通过aop在方法规则上进行控制,注解配置示例可以参照SqlToyCRUDServiceImpl类
如果在控制器层调用SqlToyCRUDService并自动完成数据库保存,因为SqlToyCRUDService方法已已经加了事务注释解。
9.为什么我手写VO和表映射无法执行
请使用quickvo生成跟数据库的映射关系,sqltoy从来不鼓励手工写跟数据库映射,也没有必要去尝试!
是不是因为复杂所以不鼓励?不是,是因为从来就没有手工写过,再简单也记不住!
10.多数据源如何实现事务管理
请约会Jta进行事务管理,Atomikos + spring Jta,多数据源同时要支持读和写本身就是一个特有的场景,建议可以针对此进行服务化
参照地址:https ://www.cnblogs.com/wangyong/p/4174326.html
sqltoy一写多读可以按照常规模式进行配置,无需使用Jta。
更新日志
版本号4.12.2(GA版本)日期2020.5.21
1,从表中增加代码中直接写sql查询时自动根据情况补齐
2,优化quickvo,剔除对log4j的依赖改用jdk自带日志,显着增加jar的大小3,增加三个单表查询,修改,删除方法,更加简化单表操作,方便内部逻辑快捷处理
用法:
版本号4.11.9日期2020.5.8
1,支持保留字处理,对象操作自动增加保留字符号,跨数据库sql自动适应
首先尽量避免使用保留字
sqltoy支持保留字处理主要考虑一些已有项目
2,重新编写修复StringUtil分隔符号切割函数splitExcludeSymMark(在sqltoy简单场景下不干扰)3,增加缓存数据获取为空的日志提醒,,给开发更多信息4,查询返回结果支持List Object [] >,同时支持resultType直接给Map.class等接口(之前必须是HashMap等实现类)5,quickvo支持yml格式的配置文件6,增强sql执行输出
保留字支持
注意事项
保留字分对象操作和自定义sql两个部分,对象操作框架自动完成保留字的处理
自定义sql中的保留字需要根据当前数据库增加的保留字符号,当作为产品使用不同数据库时框架会自动适应```sql
-sqlserver从表t中选择t。[maxvalue],t.name-mysql选择t。maxvalue表t中的,t.name
版本号4.10.5(GA版本) 日期2020.3.31
* 1.缓存翻译对应的缓存更新增加了增量更新机制
* 2.增加了环比计算功能,同时优化了unpivot 列转行配置和实现策略
* 3.部分代码优化
版本号4.10.3(GA版本) 日期2020.3.17
* 1.优化ehcache缓存配置策略,设置off-heap默认为零,并提供全局默认值设置
* 2.优化sql加载顺序策略,classes 下面的sql优先于jar包中的,从而便于程序发版和本地调试
* 3.修复注解式sql调用参数合规性验证缺陷
人气软件
-
redis desktop manager2020.1中文 32.52 MB
/简体中文 -
s7 200 smart编程软件 187 MB
/简体中文 -
GX Works 2(三菱PLC编程软件) 487 MB
/简体中文 -
CIMCO Edit V8中文 248 MB
/简体中文 -
JetBrains DataGrip 353 MB
/英文 -
Dev C++下载 (TDM-GCC) 83.52 MB
/简体中文 -
TouchWin编辑工具(信捷触摸屏编程软件) 55.69 MB
/简体中文 -
信捷PLC编程工具软件 14.4 MB
/简体中文 -
TLauncher(Minecraft游戏启动器) 16.95 MB
/英文 -
Ardublock中文版(Arduino图形化编程软件) 2.65 MB
/简体中文