jSqlBox 1.0.7 版发布, 一个Java持久层工具 - 开源中国社区
Float_left Icon_close
jSqlBox 1.0.7 版发布, 一个Java持久层工具
yong9981 2018年03月13日

jSqlBox 1.0.7 版发布, 一个Java持久层工具

yong9981 yong9981 发布于2018年03月13日 收藏 14

做APP,小程序就上开源众包。世界杯期间免费领2600元启动金。>>>  

jsqlbox-logo

简介 | Introduce

jSqlBox是一个支持动态配置、多种SQL写法、跨数据库的Java持久层工具。运行于Java6及以上。 
1.0.7版完善了文档和示例,添加了SqlMapper模式及Java多行文本支持功能。

优点 | Advantages

  • 架构优良:模块式架构,各个模块都可以脱离jSqlBox单独存在。

  • 跨数据库:基于jDialects,支持70多种数据库的分页、函数变换,是Hibernate之外少有的自带DDL生成功能的持久层工具。

  • 尺寸小:所有依赖包合计约500k大小。

  • 与DbUtils兼容:继承于DbUtils, 原有基于DbUtils的项目可以无缝移植到jSqlBox。

  • 多种SQL写法:Inline方法、模板方法、DataMapper、ActiveRecord、链式写法、SqlMapper,NoSQL查询等。

  • 多项技术创新:Inline写法、NoSQL越级查询及树结构查询、多行文本支持、ActiveRecord与SqlMapper合体、抽象类实例化等。

  • 动态配置:除了支持实体Bean注解式配置,jSqlBox还支持在运行期动态更改配置。

  • 无会话设计:无会话设计(Sessionless),是真正的轻量级工具,可以随用随弃,象万金油一样到处使用。

  • 自带声明式事务:基于独立的声明式事务工具jTransactions,并可配置成Spring事务。

  • 学习曲线平滑:模块化学习,了解了各个子模块,就掌握了jSqlBox,jSqlBox主体只有30多个类。

文档 | Documentation

中文 | English | JavaDoc

应用示例 | Demo

jBooox项目    这是一个MVC Web项目,基于三个开源软件jBeanBox、jSqlBox、jWebBox。

jSqlBox-in-Spring  这是一个MVC Web项目,演示jSqlBox在Spring环境下的配置和使用。

使用BeetlSql模板   演示如何在jSqlBox中开发和使用其它模板引擎如BeetlSQL。

在MyBatis中使用   演示如何利用jSqlBox为MyBatis添加分页、DDL生成、ActiveRecord功能。

下载地址 | Download

点此去下载

<dependency>
   <groupId>com.github.drinkjava2</groupId>
   <artifactId>jsqlbox</artifactId>
   <version>1.0.7</version> <!--或最新版-->
</dependency>

相关开源项目 | Other Projects

期望 | Futures

    欢迎发issue提出更好的意见或提交PR,帮助完善jSqlBox

版权 | License

Apache 2.0

关注我 | About Me

Github
码云

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:jSqlBox 1.0.7 版发布, 一个Java持久层工具
分享
评论(8)
最新评论
0

引用来自“吕兵阳”的评论

我说的性能不好以及接口使用不方便的还没改动优化是把。比如:多维数组参数。。

引用来自“yong9981”的评论

没时间去优化啊,我有更重要的事做,比如说先把用户手册给写出来吧。所以就让那个issue一直开着,主要考虑到批处理这个功能相对不是个重点,通常用于数据库移植时才会碰到,嫌慢大不济用回DbUtils自带的批处理方法。而且实际上已经添加了几个方法使用List<List>参数,你可能没注意到,见用户手册的批处理一节。

引用来自“吕兵阳”的评论

好吧。设计很美好 但是现实很残酷 也许若干年后你的框架成熟了文档齐全了 反而没有使用市场。
即然你这么看重批处理性能这块,那好吧,作为一个bug提交者, 也请你将你的测试代码贴上来,看一看到底你用了什么方法,并不是说一个慢就行的。而且"批处理开关"这个功能是个新特性(而且因为架构原因,有可能是个无法避免的问题),没有同类产品可比较,所以也就不存在"比xxx“产品慢多少的问题,最多只能说这个功能不能达到你的项目需求而已,你可以换用其它的方法,比如普通的批处理命令insertBatch或nInsertBatch,这两个方法直接基于DbUtils的方法(前一个是DbUtils自带的),不应该有性能问题。
文档是很重要的,文档都没有的软件更是没人敢用。比如就拿这个事来说,我在文档里写了"批处理开关"有性能问题,这已经提醒用户了,如果对性能要求高的需求,用户看到这句话就应该考虑转而采用更底层的、更快的上述两个方法。 并不是每个issue都是 bug, 有时候工具中存在无法解决的问题,只要在文档里说清楚就行了。
0

引用来自“吕兵阳”的评论

我说的性能不好以及接口使用不方便的还没改动优化是把。比如:多维数组参数。。

引用来自“yong9981”的评论

没时间去优化啊,我有更重要的事做,比如说先把用户手册给写出来吧。所以就让那个issue一直开着,主要考虑到批处理这个功能相对不是个重点,通常用于数据库移植时才会碰到,嫌慢大不济用回DbUtils自带的批处理方法。而且实际上已经添加了几个方法使用List<List>参数,你可能没注意到,见用户手册的批处理一节。
好吧。设计很美好 但是现实很残酷 也许若干年后你的框架成熟了文档齐全了 反而没有使用市场。
0

引用来自“吕兵阳”的评论

我说的性能不好以及接口使用不方便的还没改动优化是把。比如:多维数组参数。。
没时间去优化啊,我有更重要的事做,比如说先把用户手册给写出来吧。所以就让那个issue一直开着,主要考虑到批处理这个功能相对不是个重点,通常用于数据库移植时才会碰到,嫌慢大不济用回DbUtils自带的批处理方法。而且实际上已经添加了几个方法使用List<List>参数,你可能没注意到,见用户手册的批处理一节。
0
我说的性能不好以及接口使用不方便的还没改动优化是把。比如:多维数组参数。。
0

引用来自“吕兵阳”的评论

竟然没看到更新的亮点。。。
第一版是裸奔,第二版能把文档加上就不错了,写文档有时比敲代码还累。
0

引用来自“maoxianfly”的评论

好多Java持久层工具都不支持异步,遗憾
可以用回DbUtils的AsyncQueryRunner, 我对这个也不熟悉,所以没有在这个基础上二次开发,而是继承了DbUtils的QueryRunner。
0
好多Java持久层工具都不支持异步,遗憾
0
竟然没看到更新的亮点。。。
顶部