jSqlBox主要特点是架构优、尺寸小、功能全,基本上所有与数据库操作相关的功能,jSqlBox都已提供。它的主要特点有: 1.内核基于DbUtils并与之兼容。 2.提倡在java里拼写SQL,独创参数内嵌式SQL写法, 而且任意CRUD方法里都可以混插SQl片段,例如: new Demo().setName("张三").insert().putField("age", 15).update(" and name=?", param("李四"), " or age>? ",param(20));3.只有单个1M大小的jar包,不依赖任何第三方库,不依赖Spring。 4.支持分库分表、声明式事务、分布式事务,缓存翻译。 5.支持80多种数据库方言,支持DDL生成、实体或数据库结构导出Excel,分页、函数变换、实体源码生成。 6.学习成本低,兼容主要的实体JPA注解。 在Java中直接写SQL是jSqlBox的主要特点之一,可能有人问XML或其它模板方式写SQL不香吗? 是的,用XML之类的模板有以下几个缺点:1. 需要与插件配合才可以定位SQL,而且通常不支持SQL标记符的重构。 2. XML中的占位符,在实际调用时是需要赋值的,这相当于又重复敲了一遍代码。很多人一看模板方式写SQL很简洁,但不要忘记了,模板是需要赋值的,赋值语句也是要占用源码行数的,一旦变量名变动,需要同时在模板和赋值语句两处修改。 3. XML 之类的模板如果要写自定义函数很困难,而使用Java则没有这个问题。 4. XML需要单独的文件存放,而且如果要在前端直接写SQL,则XML文件没法保存。(参见本人GoSqlGo项目) 本次(jSqlBox4.0.8.jre8)更新内容:

把实体结构或数据库结构导出到Excel中

1.实体结构导出以下语句会扫描指定包domain,把此包下的所有实体类的结构输出为Excel的CSV格式:

TableModelUtils.entityPackage2Excel("com.abc.domain", "d:/packageOutput.csv");

也可以指定具体的实体类导出,如:

TableModelUtils.entity2Excel("d:/entitiesOutput.csv", User.class, Customer.class, Order.class);

以下为导出的Excel示例:




java resultset 导出sql onsert java 导出sql文件_java excel导出


2.将数据库结构导出为Excel的CSV格式,第二个参数为方言类型:

@AutowiredDataSource ds;TableModelUtils.db2Excel(ds.getConnection(), Dialect.MySQL57Dialect, "d:/dbOutput.csv");

以下是导出的Excel示例:


java resultset 导出sql onsert java 导出sql文件_asp sql 导出 excel_02


导出Excel功能目前只有固定的这几个方法。如果有不同格式、语言的导出需求,可以参照jSqlBox中的TableModelUtilsOfExcel.java源码写一个你自已的工具类即可,TableModelUtilsOfExcel.java这个工具类只有168行源码,相信在这个基础上你可以很快写出你想要的Excel输出工具来。导出Excel有专用的工具或专门的项目,为什么jSqlBox要开发这个功能?不为别的,只因为jSqlBox能做到,从架构上jSqlBox内含了jDialects方言子项目,能轻而易举实现导出Excel这个功能,这个是早就有的打算,源码中早就注明了会有这个功能,不是为了跟风。