jSqlBox是一个全功能数据库持久层工具,有Java6和Java8两个版本。采用Apache2.0开源协议。
架构优良 :模块式架构,各个模块都可以脱离jSqlBox单独存在。
跨数据库 :基于jDialects,支持80多种数据库的分页、DDL生成、实体源码生成、函数变换。
与DbUtils兼容 :继承于DbUtils, 原有基于DbUtils的项目可以无缝移植到jSqlBox。
多种SQL写法 :Inline方法、模板方法、DataMapper、ActiveRecord、链式写法等。
多项技术创新 :Inline写法、多行文本支持、ORM越级查询、树结构查询等。
动态配置 :除了支持实体Bean注解式配置,jSqlBox还支持在运行期动态更改配置。
无会话设计 :无会话设计(Sessionless),是真正的轻量级工具,可以随用随弃。
自带声明式事务 :基于独立的声明式事务工具jTransactions,并可配置成使用Spring事务。
学习曲线平滑 :模块化学习,了解了各个子模块,就掌握了jSqlBox,jSqlBox主体只有20多个类。
中文 | English | JavaDoc
下表是jSqlBox在各个方面与一些其它DAO工具的对比, 内容仅为个人看法,而且随时更新,因为可能有说错的地方,或是其它DAO工具有了新版本发布,表中的MP为MyBatis-Plus的缩写:
上表中未加入Hibernate和MyBatis,是因为Hiberante太复杂、MyBatis不提供CRUD,缺点太明显。已经被很多人用脚投票了。 不加入EBean的原因是它的功能相对单调一些,设计思路与Hibernate相似,复杂性依然存在。 国产的Nutz DAO功能也挺全的,而且也支持DDL脚本的生成,架构上没有大问题,待下次更新时加入作对比。它的主要缺点是没提供ActiveRecord和实体关联有点复杂化。 JdbcTemplate和DbUtils等DAO工具因为功能单薄,也不加入作对比。
jsqlbox-in-actframework 演示jSqlBox与ActFramework框架的整合,分别展示利用jBeanBox和Guice来实现声明式事务。
jsqlbox-in-jfinal 演示jSqlBox与jFinal的整合,用jSqlBox替换掉jFinal自带的DAO工具。
jSqlBox-in-Spring 这是一个MVC Web项目,演示jSqlBox在Spring+Tomcat环境下的配置和使用, IOC、AOP和声明式事务均使用Spring的。
jsqlbox-in-springboot 演示jSqlBox在SpringBoot环境下的配置和使用。
jsqlbox-in-springboot-mybatis 演示在SpringBoot环境下jSqlBox和MyBatis的混合使用。
jsqlbox-java8-demo 主要演示jSqlBox-Java8版的两个特点:实体类只需要声明接口、利用Lambda来写SQL。
在pom.xml中添加:
com.github.drinkjava2 jsqlbox 2.0.4
数据库方言工具 jDialects
一个独立的声明式事务工具 jTransactions
一个微型IOC/AOP工具 jBeanBox
一个服务端布局工具 jWebBox
人工生命实验项目 《人工生命》
欢迎发issue提出更好的意见或提交PR,帮助完善jSqlBox
Apache 2.0
Github 码云